0

我已经向画廊发布了一个带有“onFormSubmit”触发器的脚本。

当用户安装脚本时,触发器并没有安装,用户必须自己完成添加触发器的过程。我做错了什么还是故意的?

4

1 回答 1

1

这是正常行为,副本没有随其复制的触发器,但 GAS 提供对触发器创建的完全访问权限。

您没有提到您使用的脚本类型,但这里是一个电子表格绑定脚本的示例,它以非常用户友好的方式处理安装过程,菜单在设置触发器时更改或不提供任何安装例程用户应该能够理解。

随意适应您的用例。

function onOpen() {
  var installMenu = [ {name: "Install triggers", functionName: "setTrigger"}
                    ];
  var normalMenu = [ {name: "do something", functionName: "doIt"}
                    ];
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  if(!UserProperties.getProperty('triggers')){
    sheet.addMenu("Custom menu",installMenu);
  }else{
    sheet.addMenu("Custom menu",normalMenu);
  }
}

function setTrigger(){
  var trig = ScriptApp.newTrigger('onFormSubmit').forSpreadsheet('0AnqSFd3iikE3dG5CQzdpV2tyMzRvdlY1RlVOUDc5RHc').onFormSubmit().create();
  UserProperties.setProperty('triggers',trig.getUniqueId());
  Browser.msgBox('Please refresh your Browser');
}

function onFormSubmit(){
  //do something
}

function doIt(){
  //
}
于 2013-09-20T20:32:33.157 回答