【问题标题】:chrome.identity.getAuthToken cannot get Token in Chrome Extensionchrome.identity.getAuthToken 无法在 Chrome 扩展中获取 Token
【发布时间】:2014-02-14 12:04:02
【问题描述】:

我在 Chrome 扩展程序中使用以下代码:

 chrome.identity.getAuthToken({'interactive': true}, function(token)
    {
       DoMagicStuff();
    });

这在家里可以正常工作,我的扩展程序直接作为源文件夹添加,但不适用于另一台机器(但同一用户)上打包的 CRX 文件。我收到“未定义”作为令牌。

crx 中的 manifest.json 根据需要包含一个 Key。这是它的相关部分:

{    
    "permissions": [
        "http://ajax.googleapis.com/",
        "storage",
        "identity"
    ],

    "key": "xxxxxxxx",
"oauth2": {
   "client_id": "xxxxx.apps.googleusercontent.com",
    "scopes": [
      "https://www.googleapis.com/auth/plus.login",      
      "https://www.googleapis.com/auth/plus.me"
    ]
  }

尝试收集令牌时在控制台上看不到错误

根本没有出现要求授权的弹出窗口。没有安装弹出窗口阻止程序

更新: 看起来应用程序 ID 与 api-dashboard(和商店)中的应用程序 ID 不同。 (我现在安装了两次扩展。一个(旧版本)具有正确的 ID 来自商店和一个来自 CRX) 我可以修改 crx 的值吗?

【问题讨论】:

  • 您可以将新的 App ID 添加到您应用的 Google 仪表板中。我认为 Chrome 中的两个扩展程序不能具有相同的 ID。
  • 我会试试的。 (并发布结果)

标签: javascript jquery google-chrome-extension identity


【解决方案1】:

我也在研究这个问题(在 chromebook 上运行开发版本),这就是我理解并为我工作的内容......

当使用 Pack extension (chrome://extensions) 创建 CRX 时,它在清单中使用客户端 ID(来自 Dev Console OAuth),并且依赖于 CRX 源的位置。

要在另一台机器上手动安装 CRX:

  • 确保将 CRX 安装到目标计算机上的相同位置(目录),或者
  • 使用开发控制台创建一个新的 OAuth 客户端 ID(在目标机器上输入 chrome://extensions 中显示的应用 ID),使用新的 OAuth 客户端 ID 更新 manifest.json,使用 Pack Extension 重新创建 CRX,并尝试在目标机器上使用新的 CRX。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 2020-12-10
    • 2020-02-22
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多