onFormSubmit() 触发器是否可以由人类提交 Google 表单以外的其他东西触发?

Can onFormSubmit() trigger be triggered by something else other than a human submitting a Google form?

我有一个 Google 表格,它被设置为在完成表格后发送电子邮件。我几乎完全按照 http://www.labnol.org/internet/auto-confirmation-emails/28386/ ,只是主要更改文本。它确实会在提交时发送电子邮件,万岁!

表格本身需要回答问题,因此如果不至少填写这些问题,人们将无法提交表格。

然而,在周末(11 日星期日),发送了 3 封电子邮件,即使是必填的问题也是空白回复!

所以我认为可能有以下三种解释:

  1. 要求的问题不成立/表格结构 暂时错误并允许人类做出三个空白反应。
  2. 某种机器人/爬行脚本以某种方式触发了空提交
  3. 表格由人工填写,数据未记录,也未包含在电子邮件中。

任何/所有这些解释是否有意义/看起来合理?

如果答案是 3,您知道这是否是周日发生的暂时错误,可能已记录在案?

我不明白为什么机器人不能提交 google 表单。 onSubmit 触发器正如其名。一旦表单被提交,google 脚本 运行s 所以无论发送什么信息,只要它被提交到表单,脚本就会 运行.

此脚本会检查电子邮件正文的空白数据,但不会检查其他内容。

我已经对此进行了测试并且可以确认,即使您的 google 表单已按要求设置了问题,如果它是文本或段落条目,那么您所要做的就是输入 space它将考虑该有效数据。所有提交的表单都应存储在 google 电子表格中,因此我建议您检查电子表格的回复,看看该单元格是否实际上是空白的,或者它是否包含类似“ ”的数据。

就我个人而言,在进行自动回复或需要处理来自表单提交的数据时,我总是使用特定范围。通常,数据应始终位于电子表格中的相同位置。

您的脚本 运行s 每当提交表单时。因此,如果机器人可以绕过问题是否为空的检查并仍然提交它,那么您的脚本无论如何都会 运行。