【问题标题】:How to get only the values from the google form submission that actually triggered the onFormSubmit event in google appscript?如何仅从谷歌表单提交中获取实际触发谷歌 appscript 中的 onFormSubmit 事件的值?
【发布时间】:2020-06-30 00:31:08
【问题描述】:

如何只获取在google appscript中触发onFormSubmit事件的提交值?

也就是说,当一个 google 表单响应被提交时,有没有办法只获取与表单响应对应的值行,该表单响应实际上首先触发了 onFormSubmit(在谷歌表)?

到目前为止,我唯一能找到的是

let values = SpreadsheetApp.getActive().getSheets()[0].getDataRange().getValues();

返回所有必须以某种方式过滤的工作表行。

google sheet 可以检测到 onFormSubmit 事件似乎很奇怪,但没有方法从触发事件的提交中实际获取数据。

【问题讨论】:

  • 例如,从事件对象中检索值怎么样? Ref 如果需要从电子表格中检索,使用getLastRow 怎么样? Ref

标签: javascript google-apps-script google-sheets triggers google-forms


【解决方案1】:

你可以看https://developers.google.com/apps-script/guides/triggers/events

你也可以这样做:

function myOnFormSubmit(e) {
  console.log(JSON.stringify(e));
}

有时您可以更好地了解那里的情况。

这是一个例子:

{"authMode":"FULL","namedValues":{"1":[""],"2":[""],"Timestamp":["6/29/2020 18:55:10"],"one":["Option 1"]},"range":{"columnEnd":2,"columnStart":1,"rowEnd":14,"rowStart":14},"source":{},"triggerUid":"","values":["6/29/2020 18:55:10","Option 1","",""]}

所以 e.range.rowStart 是刚刚在响应表中编辑的行 e.range.getSheet().getName() 是响应表的名称

【讨论】:

  • 我明白了,谢谢。导航 google appscript 文档的新手,因此对于从某些事物中查找的位置不太有直觉。
  • 查看脚本编辑器中的帮助菜单,这是您在编程时快速访问文档的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-05
  • 1970-01-01
  • 2015-05-06
  • 1970-01-01
  • 1970-01-01
  • 2015-01-08
  • 2020-12-20
相关资源
最近更新 更多