Google apps script 如何发布包含触发器的脚本?

Google apps script 如何发布包含触发器的脚本?,google-apps-script,Google Apps Script,我已经发布了一个带有“onFormSubmit”触发器的脚本 当用户安装脚本时,不会安装触发器,用户必须自己完成添加触发器的过程。 我做错了什么,还是故意的?这是正常行为,复制时不会复制触发器,但GAS提供了创建触发器的完全访问权限 您没有提到您使用的是哪种脚本,但下面是一个电子表格绑定脚本的示例,该脚本以一种非常用户友好的方式处理安装过程,其中的菜单在设置触发器或不提供任何用户都应该能够理解的安装例程时会发生更改 可以根据您的用例进行调整 function onOpen() { var i

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

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

这是正常行为,复制时不会复制触发器,但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(){
  //
}