背景:我一直在学习 Google Apps 脚本,现在有一个独立的 Google Apps 脚本项目,仅供个人使用,其中我创建了一个可安装的触发器,该触发器配置有事件源:“来自电子表格”,以编程方式创建它(我是无法找到通过 Web 界面创建此触发器的方法(编辑菜单 --> 当前项目的触发器),因为事件源下拉列表仅显示“定时”和“来自日历”作为选择)。
几周前,我将电子表格和脚本项目分为“生产”和“开发版本”,到目前为止,当我想发布新版本时,我只是将开发代码复制/粘贴到生产项目中。
看来,更好的方法是利用部署逻辑,这样我就可以从单个代码库支持这两种环境,使用 HEAD 部署进行开发,然后为生产创建单独的部署。
问题:我在这里遇到的问题是,创建新部署后,我看不到如何将新创建的“生产”部署关联起来,以便能够从任何电子表格中获取事件。如果我尝试通过编辑 --> 当前项目的触发器 --> 创建触发器手动创建触发器,可用的选项允许我选择要使用的部署,但不允许我选择“来自电子表格”作为事件源;如果我以编程方式创建触发器,我可以正确关联事件源,但它会创建与 HEAD 部署关联的触发器,并且我无法看到指定不同的部署。
ScriptApp.newTrigger('ss_onEdit')
.forSpreadsheet(idSs)
.onEdit()
.create();
我原以为也许我可以在创建后更改触发器所反对的部署,但选择不同部署的下拉列表是灰色的。
有可能做我想做的事吗?我是否误解了它应该如何工作?在这一点上,如果没有办法将版本化部署与触发器关联起来,我真的不明白版本化部署的意义。
您现在可以在 Web 界面中选择任何已部署的版本(编辑 > 当前项目触发器)来添加触发器并选择版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)