0

我正在阅读Boris Smus 的此页面并尝试实施,一切正常。唯一的问题是,请求在一段时间后失败。我正在使用 googleapis。一旦我安装了我的测试扩展并尝试发出一些 googleapi 请求,它们就通过了。但是一段时间后,当我尝试相同的方法时,它们失败了。在 background.js NET 选项卡中,我看到以下响应。

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

如果我只是重新加载我的扩展程序,一切都会再次正常工作。我认为这与 accesstoken 有关,但不确定如何/在哪里修复它。

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

4

2 回答 2

0

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

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

于 2014-07-30T10:00:45.477 回答
0

解决了!添加了以下代码。

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

不知道为什么它在一段时间前不起作用。现在它的工作。

于 2012-10-16T14:25:58.710 回答