如何修复 Google 令牌在 7 天后过期

Posted

技术标签:

【中文标题】如何修复 Google 令牌在 7 天后过期【英文标题】:How to fix Google tokens Expiring after seven days 【发布时间】:2021-11-26 05:53:47 【问题描述】:

是否有办法获得 Google Sheet API 的永久 oauth2 令牌或半永久令牌?

我现在使用的是每 7 天过期一次,这不是很有帮助。

如果没有,是否可以使用 python 连接在线电子表格应用程序?

【问题讨论】:

【参考方案1】:

这取决于您正在做什么,如果您访问的是您个人拥有的工作表,那么您可以使用service account。服务帐号已经过预授权,不会过期。

如果您是用户拥有的访问表,那么您将需要使用 Oauth2。如果您请求离线访问,那么您将获得所谓的刷新令牌。当访问令牌过期时,刷新令牌可用于请求新的访问令牌。

正如您所说,令牌在 7 天后过期,这意味着您当前正在使用刷新令牌。但是,您还没有将谷歌云平台中的项目设置为生产。由于它仍在测试中,因此您的 refreshtoken 将在 7 天后expire。

为外部用户类型配置了 OAuth 同意屏幕且发布状态为“正在测试”的 Google Cloud Platform 项目发出了一个在 7 天后到期的刷新令牌。

如何切换到生产环境。

为您的项目转到Google cloud console

在左侧找到 Oauth 同意屏幕。

点击进入生产

【讨论】:

感谢您提供这个有用的答案。您能否提供将项目从“测试”阶段变为生产阶段所采取的步骤?我上周提交了,我的项目显示“待处理”,但我的刷新令牌在 7 天后仍然过期。 检查我的更新。您的项目可能表示待验证。没有等待生产。 感谢您的回复,我发布了验证和发布状态的屏幕截图。我的令牌在 7 天后仍然过期...这里有什么建议吗? 您需要开始验证过程。

以上是关于如何修复 Google 令牌在 7 天后过期的主要内容,如果未能解决你的问题,请参考以下文章

Google Cloud Messaging 将在 7 天后过期

为啥刷新令牌会在 14 天后过期

如何生成刷新令牌的过期时间?

如何使用 Angular Http Interceptor 和 RxJS 刷新 JWT 令牌?

在 Android 上集成 Google 登录时如何在 ID 令牌过期后刷新?

我如何在 jwt 令牌中设置过期 30 分钟