0

我使用返回 FormResponse的表单的 onSubmit向用户发送邮件确认,以及更新响应的链接。

我不知道如何知道 onSubmit() 的上下文:响应是否已被编辑或者是新的。

没有像 isEdited() 或 isUpdated() 这样的函数

我尝试了 getId() ,它总是返回一个值。我也可以将 id 与 url 进行比较,但getUrl()返回 null。

如果只是更新了回复,我的观点是(不)发送不同的电子邮件。

4

2 回答 2

0

您可以手动阅读回复表,看看它是否是最后一行。除非响应及时发送(例如在前一个触发器执行时另一个响应到达),否则将起作用

于 2013-09-19T15:00:39.877 回答
0

根据预期响应的数量,可以存储每个响应的 ID,例如,在ScriptDb中确定是否发送邮件。

ScriptProperties 不应该用于这些情况,我在这里仅用于演示目的。

/* CODE FOR DEMONSTRATION PURPOSES */
function onFormSubmit(r) {
    var _key = r.response.getId();
    if (_key && !isEdited_(_key)) sendMail_();
}

function isEdited_(key) {
  var _isEdited = false;
  if (!ScriptProperties.getProperty(key))
      ScriptProperties.setProperty(key, 'FormResponse');
  else
      _isEdited = true;
  return _isEdited;
}
/* CODE FOR DEMONSTRATION PURPOSES */
于 2013-09-19T16:47:35.597 回答