我正在尝试使用发布/订阅模式来帮助我在 GAS 环境中构建更复杂的应用程序。
由于现在可以以编程方式安装触发器,因此我希望能够在触发事件时在侦听器中检索安装特定触发器的电子表格 ID:
function setTrigger(){
var triggerBuilder = ScriptApp.newTrigger("listen"),
onEditTrigger = triggerBuilder.forSpreadsheet('some-id').onEdit().create();
}
function listen(e){
var ssId = e['range'].getSheet().getParent().getId(); //ssId = 'some-id'
}
ssId 实际上是 setTrigger() 所在的电子表格的 id:不是很有用。
也许我在深夜想像力不足,但我看不到实现这个非常有用的模式的方法(100 个创建的电子表格,一个侦听器,所有这些电子表格共有的一组操作,但无法与特定的调用者,因为它无法被识别)。
任何帮助或评论将不胜感激。