You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Apps Script执行时出现403权限错误求助

解决OAuth 2.0 Playground调用已发布Apps Script API可执行程序的常见问题

我之前也碰到过类似的情况——脚本在编辑器里跑完全正常,发布成API可执行程序后用OAuth Playground调用就卡壳。结合你的操作步骤,给你整理几个关键的排查和解决点:

  • 确认脚本发布的核心配置
    发布API可执行程序时,这几个细节很容易踩坑:

    • 部署类型必须选「API可执行」,别选错成Web应用了
    • 执行权限要和你的测试场景匹配:如果是自己调用,选「我自己」就行;如果要给其他用户调用,再选对应的权限范围
    • 一定要选择已保存的版本,草稿版本是无法通过API调用的,记得发布前先保存新版本
  • 校验OAuth权限范围的完整性
    你已经选了Apps Script API v1的所有范围和Drive权限,但要确保没漏掉脚本实际用到的范围:

    • 如果脚本操作电子表格,必须加上https://www.googleapis.com/auth/spreadsheets这个范围
    • 在OAuth Playground的步骤1里,要是默认列出的范围不全,记得手动把缺失的范围添加进去,多个范围用空格分隔
  • 正确构造API调用请求
    获取到令牌进入步骤3后,按这个格式构造请求才会有效:

    • 请求方法选POST
    • 请求URL填:https://script.googleapis.com/v1/scripts/[你的脚本ID]:run(脚本ID在Apps编辑器的「项目设置」里能找到)
    • 请求体要符合API规范,示例如下:
      {
        "function": "你的目标函数名",
        "parameters": [], // 函数不需要参数就留空数组,有参数按顺序填
        "devMode": false // 测试草稿版本可以设为true,正式调用建议用false
      }
      
  • 排查权限冲突问题
    如果还是报错,再检查这几点:

    • 你用来授权的Google账号,有没有脚本中操作的电子表格、Drive文件夹的读写权限
    • 脚本部署的执行权限,是否和Playground授权的账号匹配
    • 去Google Cloud Console对应的项目里,确认Apps Script API已经启用(有时候默认是关闭的)

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

火山引擎 最新活动