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

Google API未验证应用无限期令牌创建及令牌失效问题求助

问题解答

1. 解决令牌失效问题

  • 直接用服务账号替换OAuth用户令牌:服务账号的密钥不会过期(除非主动吊销),完全适合无人值守的定时脚本。操作步骤:在Google Cloud控制台创建服务账号,下载JSON密钥文件,脚本里加载这个密钥,再把服务账号的邮箱添加到目标Google表格的共享列表里就行。
  • 确保令牌自动刷新逻辑正常:要是非得用OAuth用户令牌,得保证脚本里的Google客户端库(比如Python的google-auth-library)能自动刷新过期令牌。另外要注意令牌存储的目录(比如~/.credentials/)得给脚本运行用户开读写权限,不然刷新后的令牌存不下来,每次运行都用旧的自然会失效。
  • 检查权限配置:树莓派上跑脚本的用户必须能读写令牌存储文件,不然就算库能刷新,新令牌存不住也白搭。

2. 应用验证流程

这里说的是Google Cloud应用的OAuth验证,步骤如下:

  • 先在Google Cloud控制台建项目,启用Google Sheets API。
  • 配置OAuth同意屏幕:选内部或外部类型,填好应用名、联系邮箱,加上需要的权限范围(比如https://www.googleapis.com/auth/spreadsheets)。
  • 创建OAuth客户端ID:选桌面应用类型,下载客户端JSON文件到树莓派上。
  • 提交验证请求(外部应用才需要):如果你的应用用了敏感权限,或者用户数超过100,就得提交验证。要填应用详情、录个演示功能的视频、提供隐私政策链接,等Google审核通过后,就能解除令牌有效期短的限制,避免频繁失效。

3. 替代方案

  • 用Google Sheets的CSV导出/导入:如果不需要实时操作,把表格设为公开共享,生成CSV链接,用curl或wget下载数据,处理完之后再通过表单或者邮件(如果允许的话)提交更新,完全不用API令牌。
  • 用封装好的第三方库:比如gspread的服务账号模式,本质还是靠Google API,但封装得更简单,不用自己写太多授权逻辑;或者用pandas结合服务账号密钥直接读写表格。
  • 改用本地存储+手动同步:数据量不大的话,直接在树莓派本地存数据,定期手动或者写个简单脚本同步到Google Sheets,减少对API的依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 02:00:12