401在一些空闲时间之后使用OAuth2.0时,凭据无效

时间:2012-10-15 16:55:22

标签: google-chrome-extension oauth-2.0

由鲍里斯·斯穆斯(Boris Smus)阅读this page并试图实施,一切都运作良好。唯一的问题是,请求在一段时间后失败了。我正在使用googleapis。一旦我安装了测试扩展并尝试发出一些googleapi请求,他们就会通过。但是,当我尝试相同的时候他们失败了。 在background.js NET选项卡中,我看到以下响应。

{ "error": { "errors": [ { "domain": "global", "reason": "authError", "message": "Invalid Credentials", "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Invalid Credentials" } }

如果我只是重新加载我的扩展,一切都恢复正常。我认为它与accessstoken有关,但我不确定如何/在哪里修复它。

我从background.js页面的控制台选项卡中观察到,当一切正常时,google.isAccessTokenExpired()会导致'false'。当一切都失败时,它返回TRUE。在哪里/如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

解决!添加了以下代码。

if(google.isAccessTokenExpired()) { 
    google.authorize(function() { myFunc(info); } );
}

不知道为什么它暂时不起作用。现在它的工作。

答案 1 :(得分:0)

对我来说,它适用于userinfo API。但不适用于联系人API。通过将联系人的URL从http更改为https

,解决了该问题

所以我使用的网址是:https://www.googleapis.com/m8/feeds/contacts/default/full