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

如何让Google Apps Script库的所有使用者共用同一OAuth客户端

让所有Google Apps Script库使用者共用自定义OAuth客户端ID

核心思路

把库和所有使用者脚本都绑定到你自己创建的Google Cloud项目的OAuth客户端ID上,替代默认的自动生成客户端。


步骤1:给库脚本绑定自定义客户端ID

  1. 打开你的库脚本A,点右上角「项目设置」,勾选「显示"appsscript.json"清单文件」
  2. 打开appsscript.json,做两个修改:
    • 把oauthScopes改成你实际需要的权限(必须和Cloud客户端配置的权限范围完全匹配)
    • 添加oauthClientId字段,填入你在Cloud项目里创建的客户端ID
      示例配置:
    {
      "timeZone": "Asia/Shanghai",
      "dependencies": {},
      "oauthScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "oauthClientId": "你的客户端ID.apps.googleusercontent.com",
      "runtimeVersion": "V8"
    }
    
  3. 保存后,库脚本就会使用这个自定义客户端了。

步骤2:配置使用者脚本/容器

对于绑定表格C的使用者脚本B,以及它的所有副本:

  1. 同样打开脚本B的「项目设置」,显示appsscript.json
  2. 确保oauthScopes包含库A所需的全部权限(不能比库的权限少)
  3. 同样添加oauthClientId字段,填入同一个自定义客户端ID
  4. 把配置好的表格C复制后,副本里的脚本B会自动保留这个配置,不用重复修改。

关键注意事项

  • 你的Cloud项目里的OAuth同意屏幕必须处于发布状态(哪怕是内部测试),不然使用者会碰到授权失败的问题
  • 所有脚本的权限范围必须和Cloud客户端中设置的一致,不能有额外的权限
  • 如果使用者之前用过默认客户端授权,需要让他们重新授权:打开脚本编辑器,点「运行」>「授权」,会弹出你自定义客户端的同意屏幕,完成后旧授权会被替换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 07:20:28