【问题标题】:Is Google API's access token never expiring?Google API 的访问令牌永不过期吗?
【发布时间】:2018-04-26 19:45:06
【问题描述】:

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

但是,当我使用提供的刷新令牌刷新访问令牌时,它会给我一个以秒为单位的过期时间。 (距离请求还有 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 Drive。

有什么问题?

【问题讨论】:

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


    【解决方案1】:

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

    然而,它没有做的是自动保存这个令牌。如有必要,您需要采取措施设置挂钩以进行保存。

    【讨论】:

    • 但是当我创建一个文件时,响应给了我文件 ID。响应中没有新的 access_token。那我怎么钩呢?
    猜你喜欢
    • 2017-02-09
    • 2015-12-27
    • 2014-08-02
    • 1970-01-01
    • 2012-11-30
    • 2021-06-03
    • 2018-02-20
    • 2016-09-17
    • 1970-01-01
    相关资源
    最近更新 更多