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

GCP部署的Google Sheets插件按钮触发脚本报PERMISSION_DENIED问题咨询

问题根因

你遇到的权限报错和按钮无法触发的问题,由两个核心原因导致:一是绑定到表格按钮的函数不符合Apps Script的全局可调用要求,二是附加组件的权限配置存在缺失。

修复步骤

  1. 修改绑定函数的定义
    绑定到Sheets内置按钮的函数不能使用export修饰,export会将函数限定为ES模块私有作用域,Apps Script无法将其识别为可被容器触发器调用的全局函数。
    修改后的测试函数如下:
    function fncTest() {
    }
    
  2. 补充缺失的OAuth权限范围
    报错提示读取存储权限被拒,需要在appsscript.json的oauthScopes数组中添加脚本存储权限,补充后的scopes配置如下:
    "oauthScopes": [
      "https://www.googleapis.com/auth/script.container.ui",
      "https://www.googleapis.com/auth/spreadsheets",
      "https://www.googleapis.com/auth/spreadsheets.currentonly",
      "https://www.googleapis.com/auth/drive",
      "https://www.googleapis.com/auth/script.storage"
    ]
    
  3. 补充附加组件声明配置
    部署为Sheets附加组件的项目必须在appsscript.json中声明addOns节点,明确扩展的触发范围,配置参考:
    "addOns": {
      "sheets": {
        "homepageTrigger": {
          "runFunction": "onHomepage"
        }
      }
    }
    
  4. 检查GCP OAuth配置
    • 进入GCP控制台的OAuth同意屏幕页面,确认你的附加组件未处于测试模式,或需要使用插件的账号已被添加到测试用户列表中
    • 部署插件时,执行权限选择「所有用户」,安装类型选择「作为 Sheets 附加组件安装」
  5. 验证按钮绑定配置
    按钮绑定的函数名直接填写fncTest即可,不要添加括号、模块前缀等多余字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:45:02