更新G-Suite插件

时间:2017-10-23 08:25:40

标签: google-apps-script triggers google-form google-apps-script-addon

我想为谷歌表单创建一个独立的附加组件,它应该处理表单提交事件,并在谷歌驱动器中创建一个带有表单响应内容的新文本文件。然后为其他用户分发此附加组件。 我的目标是用户可以在谷歌表单上安装附加组件,它应该可以正常工作,无需附加菜单中的其他设置。

测试时我发现有SimpleInstallable个触发器可用。 (onFormSubmit是可安装的触发器) 每次在G-Suite Marketplace上更新加载项时,可安装的触发器都会清除。因此,它会删除我的onFormSubmit触发器,因此已安装的加载项在更新后停止工作

onFormSubmit触发器在onInstall内添加简单触发器:

function onInstall() {
    var form = FormApp.getActiveForm();
    var trigger = ScriptApp.newTrigger('respondToFormSubmit')
       .forForm(form)
       .onFormSubmit()
       .create();
}

我想通过处理链接电子表格的简单触发器onFormSubmit中的onEdit来绕过此问题。实际上,它可以检查电子表格中的新行,然后创建一个新文件。但是简单的触发器没有自动化私有服务(如谷歌驱动器),所以它不可能在简单触发器内的谷歌驱动器上创建文件

是否有办法在发布新版附加组件后保留onFormSubmit触发器,而无需手动重新安装? 嗯,这些都是合理的,但是为什么onInstall事件不再被提出呢?或者可能有一个事件onUpdate来处理附加更新?

更新

Here我读到了:

  

附加触发器将在以下任何一种情况下停止触发:

     
      
  • 如果用户卸载了加载项
  •   
  • 如果文档中禁用了加载项(如果重新启用,则触发器将再次运行)
  •   
  • 如果开发者取消发布附加组件或将损坏的版本提交到附加商店
  •   

我只需在发布表单中设置下一个版本号,单击"更新网上商店草稿",然后在新窗口中确认更新。我做得对吗?

enter image description here

即使没有代码修改,触发器也会停止触发,只需使用新版本的附加组件。并且stackdriver控制台中没有任何日志错误。这可能是个错误吗?

0 个答案:

没有答案