我在哪里可以调用chrome.identity.getAuthToken()来获取有效的令牌?

Chi*_*Lam 5 google-chrome-extension

我正在尝试使用Google帐户作为标识开发Chrome扩展程序.我正在关注http://developer.chrome.com/extensions/app_identity.html上的教程

我确保client_id和扩展ID是相关联的.但是,我不知道什么时候打电话chrome.extension.getAuthToken()

我在onInstalled事件(在我的扩展背景页面上)调用它,但得到一个"未定义"的令牌,没有任何错误.(同样从后台页面控制台调用它会产生相同的结果)

由于getAuthToken()可能需要UI(当交互设置为true时),我猜它可能无法从后台页面调用.如果是这样,应该chrome.identity.getAuthToken()从扩展名调用的时间和地点?

Chi*_*Lam 5

事实证明,您可以从后台页面调用getAuthToken().显示的授权UI是一个对话框,而不是常规的html页面,所以我猜这是允许从后台页面.

FWIW,我的问题是没有提供"产品名称",因为我使用的是旧的Google API测试帐户.您需要在"新"云开发人员控制台中的"同意屏幕"下或旧控制台中的"编辑品牌信息"下指定名称.

否则你会收到一个神秘的"bad client_id {0}"错误!