Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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电子表格脚本中安装OneEdit触发器_Google Apps Script_Google Sheets_Gs Installable Triggers - Fatal编程技术网

Google apps script 复制模板电子表格脚本时,可在google电子表格脚本中安装OneEdit触发器

Google apps script 复制模板电子表格脚本时,可在google电子表格脚本中安装OneEdit触发器,google-apps-script,google-sheets,gs-installable-triggers,Google Apps Script,Google Sheets,Gs Installable Triggers,我有一个脚本(a),它复制了一个模板电子表格。此模板电子表格中有一个脚本(B)。模板电子表格和脚本已成功通过编程方式复制并与其他人共享。模板脚本需要使用onEdit()触发器修改第三个电子表格(模板电子表格副本中的编辑将同步到第三个电子表格)。简单触发器没有访问第三个电子表格的权限。我尝试过使用可安装的触发器,但在复制的电子表格中使用可安装的OneEdit触发器却没有成功 我想要实现的是在复制的电子表格中有一个OneEdit触发器,它不需要单独授权才能写入第三个电子表格 所有电子表格均由单个用户

我有一个脚本(a),它复制了一个模板电子表格。此模板电子表格中有一个脚本(B)。模板电子表格和脚本已成功通过编程方式复制并与其他人共享。模板脚本需要使用onEdit()触发器修改第三个电子表格(模板电子表格副本中的编辑将同步到第三个电子表格)。简单触发器没有访问第三个电子表格的权限。我尝试过使用可安装的触发器,但在复制的电子表格中使用可安装的OneEdit触发器却没有成功

我想要实现的是在复制的电子表格中有一个OneEdit触发器,它不需要单独授权才能写入第三个电子表格

所有电子表格均由单个用户拥有

我可以使用脚本A中的以下代码在脚本B中创建一个可安装的触发器

createSpreadsheetEditTrigger(id_of_shared_spreadsheet)
...
...
function createSpreadsheetEditTrigger(idss) {
var ss = SpreadsheetApp.openById(idss);
ScriptApp.newTrigger('myOnEdit')
      .forSpreadsheet(ss)
      .onEdit()
      .create();
}
“myOnEdit”函数位于脚本B中,其中包含与第三个电子表格同步的代码。编辑复制的电子表格时不会触发此操作

如果我通过从简单的onOpen()函数调用脚本B中的可安装触发器来创建该触发器,它会由于权限而失败

按照这里的建议:我可以创建可安装触发器和一个菜单项来调用它,以及一个msgbox,提示用户单击install并授权触发器

在复制具有编辑第三个电子表格权限的电子表格时,是否可以通过编程方式安装OneEdit触发器,而无需用户手动授权触发器

非常感谢


特雷弗·斯托尔(Trevor Storr)

我刚刚完成了类似的交易,我很有信心没有一种“简单”的方法可以在未经授权的情况下实现这一点

尽管您可以将“CreateSpeadsheetEditTrigger”脚本分配给一个按钮,该按钮只需安装触发器并同时对所有触发器进行授权,只需单击3下5秒,但它将按照您的预期工作