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

Google Sheets容器绑定脚本 其他用户持编辑/所有权仍遇授权及访问报错

问题根因

报错指向代码第4行的DriveApp.getFileById调用,核心原因是容器绑定脚本默认以触发执行的用户身份运行,即便你已经授予了资源编辑权限,仍存在两个常见的隐藏权限拦截逻辑:

  1. 个人Google Drive内的资源,即便是授予了编辑权限,用户首次通过API访问时也可能触发「未访问/编辑过该项目」的拦截规则
  2. 脚本默认申请的OAuth授权范围不足,无法覆盖Drive文件读写、文档编辑的权限要求

修复步骤

  • 第一步:核对三个硬编码ID对应的资源(模板文档、生成文件存储文件夹、PDF存储文件夹)的共享设置,确保目标用户的权限为「编辑者」,如果是Workspace企业账号,优先设置为「指定用户可编辑」而非「域内有链接可查看」
  • 第二步:让所有需要运行脚本的用户,先手动在浏览器打开三个资源的网页端链接,成功加载一次即可消除API访问的首次拦截
  • 第三步:补充脚本的完整授权范围:
    1. 打开脚本编辑器,点击左侧「项目设置」,勾选「在编辑器中显示appsscript.json清单文件」
    2. 回到代码编辑器页面,打开自动生成的appsscript.json文件,替换为以下内容(时区根据你的实际区域调整即可):
    {
      "timeZone": "Asia/Shanghai",
      "dependencies": {},
      "exceptionLogging": "STACKDRIVER",
      "runtimeVersion": "V8",
      "oauthScopes": [
        "https://www.googleapis.com/auth/spreadsheets.currentonly",
        "https://www.googleapis.com/auth/documents",
        "https://www.googleapis.com/auth/drive"
      ]
    }
    
    1. 保存文件后重新运行一次脚本,走完新的授权流程
  • 第四步(可选,彻底避免用户授权问题):将脚本设置为以所有者身份统一执行:点击编辑器右上角「部署」-「新建部署」,类型选择「Web应用」,执行身份选择「我(所有者)」,可访问用户选择「需要使用脚本的所有用户/组织内所有人」,后续在Sheet中添加自定义菜单调用该Web应用地址即可,所有用户触发执行时都会复用你的权限,不需要单独授权

内容的提问来源于stack exchange,提问作者Gene Hopkins - 4QFA1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:48:01