Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 自动启动绑定到Google工作表的脚本_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 自动启动绑定到Google工作表的脚本

Google apps script 自动启动绑定到Google工作表的脚本,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个非常简单的装订脚本。该脚本工作得很好,但是如果我共享该工作表,编辑器必须在第一次手动触发该脚本(以便获得auth对话框) 有没有办法自动触发此对话框?没有它,床单不能正常工作 我在考虑设置一个荒谬的“运行脚本!”文本,当脚本第一次运行时我会删除它,但这似乎不是一个优雅的解决方案。在这个问题上花费了很多时间后,似乎不可能实现这一点。需要身份验证的脚本将自动失败(有一种方法可以让脚本作者知道这一点,但不能让用户知道)。有些操作不需要身份验证,如果小心,这些操作将运行。我想向未经身份验证的用户

我有一个非常简单的装订脚本。该脚本工作得很好,但是如果我共享该工作表,编辑器必须在第一次手动触发该脚本(以便获得auth对话框)

有没有办法自动触发此对话框?没有它,床单不能正常工作


我在考虑设置一个荒谬的“运行脚本!”文本,当脚本第一次运行时我会删除它,但这似乎不是一个优雅的解决方案。

在这个问题上花费了很多时间后,似乎不可能实现这一点。需要身份验证的脚本将自动失败(有一种方法可以让脚本作者知道这一点,但不能让用户知道)。有些操作不需要身份验证,如果小心,这些操作将运行。我想向未经身份验证的用户显示一些东西(菜单项?警报?),让他们知道脚本可用并且应该运行

但不幸的是,根据
AuthMode
确定状态的唯一方法不适用于绑定脚本:

绑定到文档的脚本(包括开发中的加载项)始终在AuthMode.LIMITED中运行onOpen(e)

谷歌不允许这种基本功能肯定有很好的理由。我希望我至少知道原因。

您是否尝试过“打开”事件触发器?工作表有两个“打开”事件触发器:简单的和可安装的。简单触发器只需要创建名为
onOpen()
的函数。因此,当工作表打开时,它将自动运行
onOpen()
功能。