脚本不适用于匿名用户,Google电子表格

时间:2014-10-11 20:02:17

标签: google-apps-script

我目前正在编辑一个Google电子表格,该电子表格设置为由登录和匿名用户进行公共编辑(我不是所有者)。我在电子表格中创建了一个脚本并将其分配给绘图(插入图形)。我还为图像分配了一个脚本。

有两个不幸的怪事: 1)如果您是匿名的,则不会出现绘图(我使用隐身模式?)。您可以看到该框,并右键单击该菜单(甚至删除它)但您没有看到图形本身。 出于某种原因,您也无法以匿名用户身份添加新图纸 - 您需要“您需要许可”并且好奇“您已登录为”。但是图像确实出现了,您可以添加自己的图像 2)脚本不为匿名用户运行 - 分配给图像的脚本(可见)或附加到图形的脚本。

图像上的脚本如下:

function messageBarnImage() {
  Browser.msgBox("there is a message here")
}

我登录时脚本运行正常。

我想知道这个问题是否与这个答案有关: https://stackoverflow.com/a/18412704/1427742 但我没有足够的声誉对它发表评论(我不明白这意味着什么),我不确定它是一样的。

问题:如何让我的脚本按钮脚本显示和运行?

1 个答案:

答案 0 :(得分:2)

您引用的帖子有一个明确的答案:任何对电子表格服务的调用都需要授权才能运行。这隐式排除了匿名用户。请参阅Zig Mandel答案,了解如何解决该问题(转载如下)

该按钮将在用户权限下运行。如果它是匿名的,它将不会运行,如果它需要任何api权限(如阅读电子表格),因为没有用户。对于非匿名用户,您需要添加一个菜单项,该菜单项将触发谷歌权限对话框(只需从中进行任何愚蠢的api调用)。在用户批准后,它将能够单击图像按钮