invalid_grant - Google表格API - Oauth2Client - node.js

时间:2017-06-14 16:41:13

标签: node.js google-sheets-api

获取invalid_grant且令牌不令人耳目一新。下面是如何构建authurl以及访问令牌中的内容。我也尝试过手动刷新,但它不起作用(下面再次提供代码)。

相关链接:

https://github.com/google/google-api-nodejs-client

https://github.com/google/google-auth-library-nodejs

var authUrl = oauth2Client.generateAuthUrl({
    access_type: 'offline',
    scope: SCOPES
});

{"access_token":"XX","refresh_token":"XX","token_type":"Bearer","expiry_date":1}

oauth2Client.refreshAccessToken(function(err, tokens) {
    oauth2Client.credentials = tokens;
    storeToken(tokens);
    pullSheetsData(oauth2Client);
});

更多细节: 它工作约8小时,然后开始给我invalid_grant。如果我正在进行任何API调用并不重要,它会在这段时间后超时,如果我想继续,我必须生成一个新的客户机密码。例如,我可以生成一个新的客户端密钥,运行快速启动,进行1次测试调用,关闭应用程序,然后在8小时内再次尝试,它将给我invalid_grant。当我第一次得到客户的秘密时,它工作了将近一个半月没有任何问题。一旦它开始给出错误,它总是大约相同的时间。

我已经查看过各种不同的建议解决方案,但似乎没有一种方法可以解决我的问题。最值得注意的是,这个link提出了一长串解决方案,但似乎都没有。

最后,这是一个服务器端node.js slack bot,它从谷歌表中提取数据。我使用谷歌开发者页面上提供的quickstart来生成凭据。之后,应用程序上面/中的代码应该能够使用凭据处理任何内容。在测试时,我从未遇到过这个问题,但是在将它移动到docker之后,它就开始发生了。它现在正在船坞上或船坞上发生,所以我不认为这是相关的,但我想应该提一下。

如果有一个非常明显的错误,请原谅我。这是我的第一个使用Oauth2和我的第一个开发方项目的应用程序。任何帮助或想法都会很棒。感谢。

0 个答案:

没有答案