谷歌日历 API 令牌将在 7 天后过期

2023-12-01

I used 本指南创建 Google 日历OAuth2客户端 ID 和客户端密钥。然后,我使用 gcalcli 命令创建 API 访问令牌:

gcalcli --noauth_local_webserver --client-id=$clientid --client-secret=$clientsecret --config-folder $path/auth agenda

这工作得很好,命令向我显示了谷歌日历事件的列表。

它还创建了这个令牌$path/auth/oauth这允许我再次运行该命令,而不必每次都进行身份验证,因为保存的令牌为我完成了这一任务。

我的问题是由于某种原因oauth令牌每 7 天就会过期,然后我必须再次执行相同的过程来创建新令牌。

中有一个条目oauth文件显示"expires_in": 83,而其他时候我经历了相同的过程,条目是"expires_in": 3599,。我假设此条目定义了令牌的寿命,但我不能 100% 确定。

所以我的问题是,为什么这个令牌会在一周后过期,我可以做什么来延长它的时间?

附加信息:这基本上是一个在 Debian 11 上运行的 bash 脚本。它运行 gcalcli,获取 google 日历事件列表并通过短信发送提醒。

我意识到有一种方法可以使用刷新令牌来更新访问令牌,但这不是我可以做的事情。


需要明确的是Access tokens一小时内过期,Refresh tokens用于在刷新令牌过期时请求新的访问令牌。

如果您发现您的应用程序在 7 天后停止工作,原因如下。您可能会得到一个invalid token error.

如果您检查文档过期它指出

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

解决方案是将您的应用程序设置为生产环境

enter image description here

我意识到有一种方法可以使用刷新令牌来更新访问令牌,但这还不是我可以做的事情。

如果您发现代码在 7 天后停止工作,代码中的某些内容已经在使用刷新令牌。我做了一些挖掘gcalcli它在内部使用Google api python client library。这就是刷新您的访问令牌的原因。#L132

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谷歌日历 API 令牌将在 7 天后过期 的相关文章

随机推荐