【问题标题】:Where can I invoke chrome.identity.getAuthToken() to get a valid token?我在哪里可以调用 chrome.identity.getAuthToken() 来获取有效令牌?
【发布时间】:2014-01-23 00:42:09
【问题描述】:

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

我确保 client_id 和扩展 id 是关联的。但是,我不确定何时致电chrome.extension.getAuthToken()

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

由于getAuthToken() 可能需要 UI(当 interactive 设置为 true 时),我猜它可能无法从后台页面调用。如果是这样,应该在何时何地从扩展中调用chrome.identity.getAuthToken()

【问题讨论】:

  • 这不是答案,但应该从您的 UI 页面调用它。例如,当用户单击打包应用程序界面中的“auth”按钮时,我会调用它。
  • 这是一个 chrome 扩展,所以我不确定我在哪里可以访问 chrome.identity.* api 并且 也可以访问 UI。我在内容脚本上尝试过,但内容脚本无法访问 chrome.identity.*

标签: google-chrome-extension


【解决方案1】:

原来你可以从后台页面调用 getAuthToken() 。显示的授权 UI 是一个对话框,而不是常规的 html 页面,所以我想这在后台页面是允许的。

FWIW,我的问题不是给出“产品名称”,因为我使用的是旧的 google api 测试帐户。您需要在“新”云开发者控制台的“同意屏幕”下或旧控制台的“编辑品牌信息”下输入名称。

否则你会得到一个神秘的“bad client_id {0}”错误!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 2018-04-09
    • 2018-09-08
    • 2021-12-25
    相关资源
    最近更新 更多