我有一个脚本,可以在提交Google表单后创建其他文件。它还为所述新文档设置了触发器,以便在文档创建后对文档进行任何编辑时,都会向人们发送电子邮件,例如
ScriptApp.newTrigger("sendEmailOnModification")
.forSpreadsheet(SpreadsheetApp.openById(fileId))
.onEdit()
.create();
所有逻辑都起作用,但是...触发器非常敏感。 每次,只要有人在文档中进行一次击键,就会触发。有人撰写段落时反复开除没有多大意义。比方说,在最后一次编辑后10分钟触发,就更有意义了。 (或其他内容。不发送垃圾邮件的任何内容。)
是否可以修改触发器,以减少触发频率(我不需要基于时间的触发器),或者以编程方式更改Google表格保存的频率?
作为最后的选择,我想我可以创建一个隐藏的工作表来捕获上次修改的时间,并且如果后续的修改少于X分钟前则不能发送电子邮件,但这有点笨拙并且没有真正的吸引力。希望我可以完全在Google脚本中完成此操作。
答案 0 :(得分:1)
您可以使用Properties Service保存上次发送电子邮件的时间戳,并将其与当前执行的实际时间进行比较。
答案 1 :(得分:1)
我不确定如何实现此功能以满足您的需求,但是由于您不希望使用基于时间的触发器,并且您已经在使用onEdit()
,因此您应该可以使用
onEdit(e)
和e.oldValue
检查是否值得进行此更改。