Google脚本 - 来自:知道响应是否已被编辑或是新的

时间:2013-09-19 12:17:28

标签: google-apps-script

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

我无法弄清楚如何知道onSubmit()的上下文:如果响应已被编辑或是新的。

没有像isEdited()或isUpdated()

这样的函数

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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 */