【问题标题】:Google App script: You do not have permission to call prompt谷歌应用脚​​本:您无权调用提示
【发布时间】:2018-05-09 23:13:37
【问题描述】:

我创建了一个 google 脚本,它会在编辑列时向我显示一个提示对话框来写评论。出于某种原因,这仅适用于我的电子邮件(脚本的创建者),但对于我共享电子表格的其他用户不起作用。当我使用其他用户帐户打开脚本编辑器时,我可以在 View -> Execution Transcript 中看到错误:执行失败:您没有调用提示的权限。

我的脚本函数有一个名称“sendManualEmail”,我已经在事件 -> 来自电子表格 -> 编辑时创建了触发器

我什至只为该脚本创建了一个新项目,并询问我使用我的帐户发送电子邮件的权限,但仍然无法为其他用户工作。我已经阅读了一些其他类似的主题,但我仍然无法修复我的问题。所以提前感谢您的任何评论!

【问题讨论】:

标签: google-apps-script google-sheets


【解决方案1】:

您需要您的用户授权您的脚本。为此,请创建一个在 onOpen() 上激活的菜单。单击时,发送一个消息框,确保您的用户必须授权您的脚本才能看到该消息。

在脚本顶部粘贴以下内容:

/** @OnlyCurrentDoc */
function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('myName') // your name
  .addItem("Activate myName's script", 'activateMyStuff')
  .addToUi();
}

function activateMyStuff() {
  browser.msgBox('Script is activated! thanks.');
}

重要提示:当您的用户点击菜单时,他们也会被提示授权您的脚本以及脚本页面上的所有权限。确保你清理了那个脚本,否则你的用户可能不得不授权奇怪的事情——而且很可能不会。请使用备用电子邮件地址对其进行测试,看看其他人会看到什么。

最后,考虑将您的脚本作为插件发布。这将使您的用户更容易授权和使用您的作品。

【讨论】:

【解决方案2】:

您是否在同一个浏览器中登录了多个 Google 帐户?

当多个帐户在同一个浏览器会话中获得授权时,Google Scripts 内部有时可能无法按预期工作。尝试注销除拥有该脚本的帐户之外的所有帐户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多