【问题标题】:Does an on form submit trigger from a script attached to the form (not the spreadsheet) trigger when a form response is edited?编辑表单响应时,是否会从附加到表单(而不是电子表格)的脚本中触发表单提交触发器?
【发布时间】:2014-12-17 11:44:24
【问题描述】:

我有一个电子表格,在提交表单时会写入日历事件。如您所知,当使用响应 url 编辑表单响应时,不会触发表单提交触发器。

https://code.google.com/p/google-apps-script-issues/issues/detail?id=2969#c12

表示如果脚本附加到表单上,那么它将触发。 我采用了在电子表格中运行的脚本,并将其移植到表单中,它适用于新表单,但仍不适用于编辑后的回复。

所以主要的问题是它是否在响应被编辑时触发?

如果上面的答案是“是”,那么相关的问题是:

我是否正确假设我需要更改脚本的编码以使用 FormResponse 对象(e.response)而不是电子表格返回?

我仍然可以使用资源菜单手动设置触发器还是现在必须以编程方式设置它?

(如果答案是否定的,那么我将利用Send email when Google Form submission is updated 在电子表格中完成同样的事情......但我希望避免增加我不完全理解的脚本的复杂性)

谢谢

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    您可以通过使用 Logger.log() 语句来确定某些代码是否运行:

    Logger.log("It ran!");
    

    然后检查是否有任何内容打印到日志中。选择 VIEW 菜单,然后从代码编辑器中选择 LOG 项。

    您已经尝试从电子表格和表单中触发代码,因此只需添加 Logger.log() 语句来确定代码是否正在运行。

    如果您尝试使用其他答案中的代码并遇到问题,只需确定哪行代码给出了错误,然后发布问题。如果执行代码时出错,EXECUTION TRANSCRIPT 中会出现错误消息。那是在 VIEW 菜单下。发布错误消息是什么,以及错误来自哪一行代码。

    如果没有错误,但结果不是您想要的,则发布与您想要的结果进行比较的结果。

    【讨论】:

    • 谢谢桑迪好。我可以确认提交时锚定的表单确实会触发表单响应编辑
    • 好的,感谢您的跟进。如果您编写了一些您遇到问题的代码,只需使用特定代码发布另一个问题。
    猜你喜欢
    • 2019-12-12
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多