Google API的访问令牌是否永不过期?

时间:2017-11-14 00:56:14

标签: node.js oauth-2.0 google-api google-oauth google-api-nodejs-client

我不知道我的代码是否有问题但是;使用google-apis nodejs客户端进行Drive REST API。

但是,当我使用提供的刷新令牌刷新访问令牌时,它会给我一个到期时间为秒。 (根据要求再多3600秒)

我将它们存储在文本文件中。然后我在新请求之前设置凭据。

oauth2Client.setCredentials({
  access_token: gTokens[0],
  refresh_token: gTokens[1],
  expiry_date: gTokens[2]
});

var expiryDate = oauth2Client.credentials.expiry_date;

var isTokenExpired = expiryDate ? expiryDate <= (new Date()).getTime() : false;

然后我检查了访问令牌是否已过期。上面的代码让我对isTokenExpired是正确的。即使我的访问令牌已过期,我也可以使用很久以前过期的访问令牌将文件上传到Google云端硬盘。

问题是什么?

1 个答案:

答案 0 :(得分:2)

没有问题 - 您还要保存refresh_token,听起来像,并且客户端库具有使用refresh_token获取新access_token的逻辑你使用的第一个失败。

但是,它不会自动保存此令牌。如有必要,您需要采取措施设置挂钩以进行保存。

相关问题