以编程方式添加的触发器无法传递正确的参数

时间:2017-10-13 22:43:47

标签: google-apps-script google-sheets google-form

我正在尝试构建一个由两个单独的Google表单组成的系统,将他们的答案提供给同一个电子表格,并根据提交答案的表单运行不同的脚本/函数。

我遇到过这篇文章: Trigger different Google Script functions after different form submissions

我使用Jack的Brown建议来配置我的项目触发器;我设置了两个触发器,每个窗体一个。每当我填写任何一个表单时,运行正确的函数/脚本,但它会抛出错误:

  

无法从undefined中读取属性“1”。

我很快发现了为什么通过添加以下每个函数的第一行:Logger.log(JSON.stringify(e));产生了这个:

Logger.log([{"response":{},"source":{},"authMode":{},"triggerUid":1005336882076172400}, []]) [0 seconds]

我意识到我正在传递带有问题和答案的ActiveForm对象,而我正试图通过使用e.values[i]来阅读答案。

所以问题是,我怎样才能在我的函数中使用e参数并获得表单的答案?我可以为每个项目使用e.response.getItemResponses();然后使用getResponse方法吗?

1 个答案:

答案 0 :(得分:0)