从 Chrome 应用获取用户的谷歌身份



我以为我已经成功了,但我发现在用interactive:false:调用getAuthToken后出现了这个错误

OAuth2请求失败:服务响应错误:"错误请求">

"糟糕的请求"真的很少告诉我。好吧,我知道我可能需要使用interactive:true(为什么?(,所以当我尝试这样做时,它会弹出我的浏览器,提示我的谷歌登录(我输入了它,这真的很痛苦,因为我们有两步身份验证(,然后。。。没有什么永远不会调用回调。。。

任何有兴趣帮助我的人都可能想看看我的宣言

"key": "MII...QAB",
"oauth2": {
    "client_id": "35...-lnf...1pd.apps.googleusercontent.com",
    "scopes": [ "identity" ]
},
"permissions":[ "identity", "https://accounts.google.com/*", "https://www.googleapis.com/*", "https://*.amazonaws.com/*", "<all_urls>" ],

你可能还想看看有问题的代码:

chrome.identity.getAuthToken({ 'interactive': true, 'scopes':['identity'] }, function ( token ) {
    if ( chrome.runtime.lastError ) {
        next(chrome.runtime.lastError);
    } else {
        next( null, token );
    }
});

或者:

chrome.identity.getAuthToken({ 'interactive': false }, function ( token ) {
    if ( chrome.runtime.lastError ) {
        next(chrome.runtime.lastError);
    } else {
        next( null, token );
    }
});

我很乐意提供任何其他可能有助于确定我哪里出了问题的信息。

Chrome文档中说明了交互对象中布尔值的用途/含义。获取令牌可能需要用户登录Chrome,或批准应用程序请求的范围。如果interactive标志为true,则getAuthToken将根据需要提示用户。当标志为false或省略时,getAuthToken将在任何需要提示的时候返回失败。

现在针对您的错误OAuth2 request failed: Service responded with error: 'Bad Request'

在创建OAuth凭据时,请确保在同意屏幕中提供电子邮件地址和产品名称。

有关详细信息,请查看此线程。

相关内容

  • 没有找到相关文章

最新更新