如何仅从 google 表单提交中获取实际触发 google appscript 中的 onFormSubmit 事件的值?

How to get only the values from the google form submission that actually triggered the onFormSubmit event in google appscript?

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

也就是说,当提交 google 表单响应时,有没有办法只获取与实际触发 onFormSubmit 的表单响应对应的行值place (在google sheet)?

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

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

其中 return 所有 sheet 行然后必须以某种方式过滤。

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

你可以看看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 是刚刚在响应中编辑的行 Sheet e.range.getSheet().getName() 是响应的名称 Sheet