【问题标题】:"You do not have permission to call showModalDialog"“您无权调用 showModalDialog”
【发布时间】:2018-06-12 17:50:39
【问题描述】:

我们在 6 月 8 日星期五第一次注意到这个问题。在此之前它可能已经潜伏了一段时间,因为我们不经常使用该插件。我们首先看到它在 script.google.com 上的项目中运行“作为插件测试...”,而不管正在测试的代码版本如何。然后我们让多个用户使用从 G Suite Marketplace 下载的公共插件从他们自己的帐户中重现该问题。公共插件可追溯到 5 月 2 日,发布时运行良好。

在 Google 云端硬盘中打开任何工作表,然后获取 Workforce Dimensions Admin 插件。选择“生成设置文件”并收到错误消息“您没有权限调用 showModalDialog”。

这是一个影响其他插件的已知问题吗?

【问题讨论】:

    标签: google-apps-script google-sheets google-apps-script-addon


    【解决方案1】:

    comment #65Critical: Google Docs Add ons show error "You do not have permission to call showSidebar"

    你好,

    我们引入了一个新范围 - "https://www.googleapis.com/auth/script.container.ui"。对于大多数 附加组件 新的范围要求应该已添加到附加组件中 自动地。在这种情况下,Apps 脚本没有检测到 附加组件需要范围,因为对顶级 bean 的引用 “SpreadsheetApp”与函数位于不同的文件中 “显示边栏()”。为了解决类似的问题,开发者 应确保在中引用顶级 bean 和 bean 方法 同一个文件或在 显现。有关显式范围的更多信息,请参考 https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes.

    谢谢,彼得


    是的,这是一个已知问题,因为 Google Apps 脚本问题跟踪器最近出现了几个问题,如下所示:

    【讨论】:

      【解决方案2】:

      谷歌仍然没有解决这个问题,即使添加googleapis.com/auth/script.container.ui 范围对我来说也没有任何改变,但我找到了不同的方法:

      您所要做的就是在项目的触发器中手动创建onEdit 触发器,因此范围将是有效的。它对我有用,问题可能来自您使用简单触发器而不是可安装触发器这一事实。

      【讨论】:

      • 我的代码有作用​​域并安装了触发器,不幸的是,我的问题仍然存在。拥有触发器和电子表格的帐户在显示对话框时没有问题,但如果文件的编辑者执行了应该触发对话框的操作,我会收到错误通知。
      • @CalamitousCode 如果您的可安装触发器与简单触发器具有相同的名称(例如,如果 onEdit 函数的名称是 onEdit(e)),您可能会看到同样的问题。如果名称相同,那么简单触发器仍然会被调用,并且会争先恐后地调用谁。如果是这种情况,请重命名您的函数并为新函数名称重做 onEdit 触发器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多