我在Chrome扩展程序中使用以下代码:
chrome.identity.getAuthToken({'interactive': true}, function(token)
{
DoMagicStuff();
});
这在家里运行正常,我的扩展名直接添加为源文件夹,但不能在另一台机器(但是同一个用户)上使用打包的CRX-File。我收到“未定义”作为代币。
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"
]
}
尝试收集令牌时,在控制台上看不到错误
根本没有要求授权的Popup。没有安装Popup-blocker
更新: 看起来应用程序ID与api-dashboard(和商店)的应用程序ID不同。 (我现在已经安装了两次扩展。一个(旧版本)具有来自商店的正确ID和一个来自CRX) 我可以修改crx的值吗?
答案 0 :(得分:4)
我也在研究这个问题(在chromebook上运行dev版本),这就是我理解并为我工作的......
使用Pack extension
(chrome:// extensions)创建CRX时,它会使用您的清单中的客户端ID(来自Dev Console OAuth),并且依赖于该位置CRX来源。
要在另一台计算机上手动安装CRX: