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

复制可用代码后,用Apps Script OAuth2对接谷歌广告平台遇授权错误

解决OAuth2 for Apps Script对接谷歌广告时的“Authorization is required to perform that Action”错误

听起来你这情况确实闹心——之前的客户表格都能正常跑OAuth拉数据,偏偏新表格卡在授权最后一步,明明能选账户、走对话流程,结果临门一脚报错。结合我用Apps Script+OAuth2库对接谷歌服务的踩坑经验,给你几个针对性的排查方向:

1. 核对OAuth2核心配置细节

  • 客户端ID/密钥与重定向URI:对比运行正常的表格,确保新表格用的OAuth2客户端ID、密钥完全一致。重点检查Google Cloud Console里的重定向URI——Apps Script的格式是https://script.google.com/macros/d/[你的脚本ID]/usercallback,必须一字不差,哪怕多了个空格或者少了个字符都会触发授权失败。
  • 授权作用域(Scopes):谷歌广告API需要特定的作用域,比如https://www.googleapis.com/auth/adwords。检查新表格脚本里setScope的参数,是不是和正常表格的完全匹配,有没有漏写或者打错的情况。

2. 排查脚本与广告账户的权限基础

  • 先完成脚本基础授权:新表格的脚本可能还没获取到基础执行权限。先手动运行脚本里的任意简单函数(比如一个打印日志的测试函数),触发Apps Script自带的授权流程,确认能拿到“查看/编辑表格”这类基础权限后,再走谷歌广告的OAuth2授权。
  • 确认广告账户的用户权限:你用来授权的谷歌账号,必须在对应的谷歌广告客户账户里拥有有效权限(比如标准用户、管理员权限)。如果是全新的客户账户,得先在谷歌广告后台把这个账号添加为授权用户,否则哪怕OAuth流程走完,也会因为广告账户层面的权限不足报错。

3. 清理缓存与重置授权状态

  • 清除OAuth2令牌缓存:OAuth2库会缓存授权令牌,旧缓存可能导致冲突。可以加一段临时代码清除缓存:
    function clearOAuthCache() {
      const cache = CacheService.getUserCache();
      cache.remove('oauth2-token-[你的服务标识]');
    }
    
    运行后再重新走一遍授权流程。
  • 撤销并重置应用授权:登录你的谷歌账户,进入“安全”页面找到“第三方应用访问权限”,找到对应的Apps Script项目,撤销授权后重新授权,清空可能残留的旧权限配置。

4. 检查脚本的库引用与部署

  • 确认OAuth2库版本:在脚本编辑器的“资源”→“库”里,核对OAuth2库的版本是否和正常表格一致,别不小心选了旧版本或者未发布的测试版本。
  • 核对脚本部署配置:如果脚本是部署为Web应用的,检查部署的权限设置(比如“仅限我自己”“特定用户”)是否和正常表格一致,错误的部署权限也可能导致授权环节出问题。

5. 排查谷歌广告API服务状态

  • 偶尔谷歌广告API会出现临时波动,导致授权失败。可以去谷歌广告API的状态页面确认服务是否正常,或者用API测试工具验证授权流程,排除API本身的问题。

我之前遇到过类似的情况,就是新表格的重定向URI少了脚本ID里的一个字符,修正后就立刻正常了。你可以按上面的步骤逐一排查,应该能定位到问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:19:54