Javascript Google应用程序脚本onOpen()触发器不';不要在床单上工作

Javascript Google应用程序脚本onOpen()触发器不';不要在床单上工作,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我无法在打开电子表格时运行脚本。我已经手动设置了触发器。授权范围也已设置 该代码旨在从工作表中的表中获取一些联系人信息,创建一个联系人,然后将该联系人添加到表中指定的电子邮件列表中。有一个功能可以检查此电子邮件是否已存在并防止重复。如果我从脚本编辑器运行代码,那么代码工作正常。我不知道为什么我不能用onOpen(e)触发器运行它 我原以为这个问题与我有关,但最简单的代码对我有效,并在打开的触发器上创建了第二张表 任何帮助都很感激,因为我被卡住了——一定是我的代码有问题 代码: 开启功能(e){

我无法在打开电子表格时运行脚本。我已经手动设置了触发器。授权范围也已设置

该代码旨在从工作表中的表中获取一些联系人信息,创建一个联系人,然后将该联系人添加到表中指定的电子邮件列表中。有一个功能可以检查此电子邮件是否已存在并防止重复。如果我从脚本编辑器运行代码,那么代码工作正常。我不知道为什么我不能用
onOpen(e)
触发器运行它

我原以为这个问题与我有关,但最简单的代码对我有效,并在打开的触发器上创建了第二张表

任何帮助都很感激,因为我被卡住了——一定是我的代码有问题

代码:

开启功能(e){
var sheet=SpreadsheetApp.getActiveSheet();
var dataRange=sheet.getDataRange();
var data=dataRange.getValues();
//遍历除标题之外的所有数据

对于(var i=1;i简单触发器不能用于需要授权的进程

  • 检查第四个要点
进一步阅读文档说明:

G套件应用程序的可安装触发器在概念上类似于onOpen()等简单触发器,但它们可以响应其他事件,并且它们的行为也不同


例如,只要有编辑权限的用户打开电子表格,Google Sheets的可安装打开触发器就会激活,就像simple onOpen()一样触发器。但是,可安装版本可以调用需要授权的服务。可安装版本在创建触发器的用户授权下运行,即使另一个具有编辑权限的用户打开了电子表格。

在声明变量时,您应该真正使用
var
,以确保它们具有本地范围。坏的python习惯!请记住:)哦,错过了那个细节@Cooper!我还有什么办法可以完成这项任务吗?我会去看一个编辑器插件吗?阅读我在答案中添加的附加说明。事实上,您应该始终返回文档,因为它处于不断变化的状态。