You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过无头浏览器实现Google API OAuth2.0认证自动刷新?

Google Calendar API OAuth2授权每周过期解决方案

问题根本原因

  • 你的Google Cloud项目中配置的OAuth应用当前处于测试模式,该模式下Google仅会颁发有效期为7天的刷新令牌(refresh token),到期后刷新令牌直接失效,即便你代码里写了刷新逻辑也无法继续使用,只能重新走浏览器授权流程。

最优解决方法(无需开发自动化验证流程)

你不需要做任何自动化授权的开发,只要修改OAuth应用配置就能一劳永逸解决问题,操作步骤如下:

  1. 进入Google Cloud控制台,打开你创建了Calendar API的对应项目
  2. 侧边栏找到「API和服务」-「OAuth同意屏幕」配置页
  3. 将应用的发布状态从「测试」调整为「正式发布」,无需提交官方审核,直接保存即可
  4. 删除你本地当前的token.json文件,运行代码重新走一次浏览器授权流程,新生成的刷新令牌就不会再7天过期了

注意:调整为正式发布后,只要你不主动在谷歌账号设置里撤销该应用的授权,刷新令牌会长期有效,你现有代码里自带的creds.refresh(Request())逻辑会自动刷新有效期更短的访问令牌(access token),全程不需要人工干预。

不推荐的自动化验证方案

如果你因为特殊原因无法修改应用状态,确实可以用浏览器自动化工具模拟授权流程,但该方案稳定性极低、安全风险高,仅做参考:

  • 可以使用Selenium、Playwright等工具,模拟打开授权链接、输入谷歌账号密码、点击同意授权的全流程,每次令牌到期前自动运行脚本生成新的token.json
  • 该方案的缺陷:谷歌登录有严格的风控策略,非常容易触发人机验证,自动化脚本几乎无法稳定绕过;同时需要明文存储你的谷歌账号密码,存在极高的账号被盗风险。

内容的提问来源于stack exchange,提问作者Daman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:54:05