首页 > 解决方案 > Google API 访问令牌含义

问题描述

有人创建了一个使用 Google API 的系统。碰巧我已经使用这个系统几个月来将文件上传到 G Drive 并且效果很好。但是今天我在下面的字符串中意识到有一个到期日期(直到今天才更新)阻止上传文件。我的理解是,每次我的代码请求 API 访问时都会生成一个令牌,但这显示了相同的 access_token 和具有到期日期的刷新令牌。我试图在没有清楚理解的情况下阅读官方文档。你能简单地解释一下我应该怎么想,并提示我应该如何重新生成所需的令牌。

{"access_token": "xxx", "client_id": "yyy", "client_secret": "nnn", "refresh_token": "bbb", "token_expiry": "2021-02-24T05:33:24Z", "token_uri": "https://accounts.google.com/o/oauth2/token", "user_agent": null, "revoke_uri": "https://oauth2.googleapis.com/revoke", "id_token": null, "id_token_jwt": null, "token_response": {"access_token": "xxx", "expires_in": 3599, "scope": "https://www.googleapis.com/auth/drive", "token_type": "Bearer"}, "scopes": ["https://www.googleapis.com/auth/drive"], "token_info_uri": "https://oauth2.googleapis.com/tokeninfo", "invalid": true, "_class": "OAuth2Credentials", "_module": "oauth2client.client"}

标签: google-api

解决方案


我的理解是,由于我们需要多个参数来访问包括身份验证等在内的 Google API。由于有多个步骤来验证 API 调用,如果它们成功,我们将提供一个access_token现在代表所有进程(或身份验证等)是成功的,现在access_token就是证明。所以在那之后,只有令牌会被检查(直到它的到期日)并且这个过程将在到期后重复。

当您的应用程序将浏览器重定向到 Google URL 时,授权序列开始;URL 包括指示所请求访问类型的查询参数。Google 处理用户身份验证、会话选择和用户同意。结果是一个授权码,应用程序可以用它来交换访问令牌和刷新令牌。

应用程序应存储刷新令牌以供将来使用,并使用访问令牌访问 Google API。一旦访问令牌过期,应用程序将使用刷新令牌来获取新令牌。

更多细节在这里


推荐阅读