复制GAS项目后Cloud SQL Admin API授权失败,点击允许仍提示需授权
解决GAS复制项目后Cloud SQL Admin API授权失败的问题
我之前也碰到过一模一样的问题!复制使用Cloud SQL Admin API的Google App Script(GAS)项目后,新项目反复弹出「需要授权才能执行该操作(Authorisation is required to perform that action)」提示,点「允许(Allow)」完全没用,旧项目却运行正常。折腾了好久,整理了几个实测有效的解决办法:
1. 检查新GAS项目关联的GCP项目API状态
- 打开新GAS项目,点击右上角「设置」图标,找到「Google Cloud Platform (GCP) 项目」板块
- 点击「更改项目」,确认关联的GCP项目已启用Cloud SQL Admin API:
- 跳转到对应GCP控制台,搜索「Cloud SQL Admin API」
- 若显示「未启用」,点击「启用」按钮,等待3-5分钟让配置生效
- 要是之前用的是GAS自动生成的默认GCP项目,建议手动关联一个你拥有管理员权限的自定义GCP项目——默认项目经常会出现API权限缺失的隐性问题
2. 重置GAS项目的授权缓存
授权缓存紊乱是这类问题的常见诱因,强制重置就能解决:
- 在GAS编辑器里新建一个空测试函数:
function testAuthReset() {} - 点击顶部菜单栏「运行」→「运行函数」选择这个测试函数,触发授权流程
- 当跳转至账号选择页面后,完成完整授权:选好账号后点击「高级」→「转到[你的项目名称](不安全)」(这里的“不安全”是Google的通用提示,自己的项目完全可以放心点击),勾选所有权限并确认允许
- 完成后再运行原来调用Cloud SQL Admin API的函数,大概率能正常授权
3. 验证代码的权限范围配置
确保代码请求的权限范围和GCP项目的API权限匹配:
- 在GAS编辑器中点击「视图」→「显示清单文件」,打开
appsscript.json - 检查
oauthScopes数组里是否包含Cloud SQL的权限范围:https://www.googleapis.com/auth/sqlservice.admin - 如果没有,手动添加该条目,保存后重新走一遍授权流程
4. 清除浏览器缓存干扰
有时候浏览器缓存会打乱授权验证流程:
- 清除当前浏览器的近期缓存、Cookie和站点数据
- 用无痕模式打开GAS编辑器,重新尝试授权操作,避免旧缓存的影响
内容的提问来源于stack exchange,提问作者FreeZey




