微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何以编程方式刷新 gmail api 的令牌?

如何解决如何以编程方式刷新 gmail api 的令牌?

我正在编写需要在 CI 中运行的 Cypress 测试,其中一些测试需要检查 gmail。我遵循了 gmail api quickstart 并使用提供的程序生成一个保存到磁盘的令牌。令牌以这种格式保存:

{
   access_token:
   refresh_token:
   scope:
   token_type:
   expiry_date:

 } 

令牌包含一个刷新令牌,因此我可以在测试中重复使用相同的文件并且它可以工作。但大约 7/8 天后,测试失败,说令牌已被撤销。

我想再次请求新令牌,但快速入门中提供的程序需要手动完成(提供一个人访问的链接,使用他们的 Gmail 登录获取他们粘贴回终端的代码)。有没有办法以编程方式请求新令牌?

解决方法

如果您的刷新令牌已过期,那么获取新令牌的唯一方法是通过向他们显示同意屏幕来请求访问您尝试访问其数据的用户。

我认为主要问题是为什么您的刷新令牌在大多数情况下会过期,但是刷新令牌不应该过期..

正在生产中并通过谷歌验证过程的应用程序的刷新令牌不会过期

由仍在测试中的应用程序创建的刷新令牌最多只能持续两周。

如果用户更改了他们的密码,这也会使使用 gmail 范围创建的刷新令牌过期

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。