首页 文章

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

提问于
浏览
0

我不知道我的代码是否有问题但是;使用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 Cloud 端硬盘 .

有什么问题?

1 回答

  • 2

    没有问题 - 你也保存了 refresh_token ,听起来像,并且客户端库有逻辑使用 refresh_token 来获取新的 access_token 如果您使用的第一个失败 .

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

相关问题