Google Apps Script每日触发器每周授权失效问题求助
解决Google Apps Script触发器每周需重新授权的问题
核心原因
你的问题本质是脚本处于OAuth测试模式,该模式下授予的权限有效期仅为7天,即便创建了测试用同意页面,也无法突破这个限制。
可行解决方案
1. 完成正式OAuth应用验证流程
- 打开脚本对应的Google Cloud Console项目(脚本编辑器右上角→齿轮图标→显示"Google Cloud Platform项目"→点击项目ID跳转)
- 配置OAuth同意屏幕:选择对应类型(个人用可选"内部",需账号属于同一Workspace;外部用户则选"外部"),填写必要信息,添加你用到的权限范围(Gmail只读、Sheets读写)
- 提交验证请求,等待Google审核通过。审核通过后,权限将变为长期有效,不会每周过期
2. 明确脚本的OAuth权限范围
- 打开脚本编辑器的
appsscript.json文件(视图→显示 manifest 文件),手动指定所需的最小权限,避免自动生成冗余范围。示例配置:{ "oauthScopes": [ "https://www.googleapis.com/auth/gmail.readonly", "https://www.googleapis.com/auth/spreadsheets" ], "timeZone": "Asia/Shanghai", "runtimeVersion": "V8" } - 保存后重新授权,确保触发器使用的是这个明确范围的权限
3. 使用Google Workspace账号(若有条件)
- 如果你拥有Google Workspace账号,可将脚本标记为Workspace内部应用,无需经过Google外部验证。在Workspace管理控制台中信任该应用后,权限将永久有效,不会出现过期问题
4. 重置触发器与权限上下文
- 删除现有触发器,用脚本拥有者的账号重新创建每日触发器
- 检查脚本是否共享给了其他用户,若有则取消共享,避免权限上下文冲突
内容的提问来源于stack exchange,提问作者Malys
相关产品推荐
相关产品推荐

