google-api - 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。由于有多个步骤来验证 API 调用,如果它们成功,我们将提供一个access_token
现在代表所有进程(或身份验证等)是成功的,现在access_token
就是证明。所以在那之后,只有令牌会被检查(直到它的到期日)并且这个过程将在到期后重复。
当您的应用程序将浏览器重定向到 Google URL 时,授权序列开始;URL 包括指示所请求访问类型的查询参数。Google 处理用户身份验证、会话选择和用户同意。结果是一个授权码,应用程序可以用它来交换访问令牌和刷新令牌。
应用程序应存储刷新令牌以供将来使用,并使用访问令牌访问 Google API。一旦访问令牌过期,应用程序将使用刷新令牌来获取新令牌。
更多细节在这里
推荐阅读
- bash - 如何从 postgres bash 中获取 bash 变量?
- node.js - req.user 和 req.isAuthenticated() 有什么区别
- powershell - psObject 的两个不同输出
- r - 使用 ggplot2 创建堆叠条形图的最简单方法是什么?
- node.js - GCP 上的 docker 映像(nodejs 应用程序)返回 ERR_CONNECTION_REFUSHED(在本地工作)
- panel - 如何在 Panel Pyviz 小部件中显示函数的文本输出?
- javascript - 如果本地存储是一种解决方案,则在重新加载页面时数据应保留在 kendo-grid 中如何在我的代码中使用它
- javascript - 如何覆盖 Web 浏览器中的功能键?
- python - PySpark:如何从嵌套在数组内的结构中的结构中提取变量?
- java - 如何通过按钮将活动链接到片段