【发布时间】:2018-09-27 14:54:41
【问题描述】:
我已经设置了一个触发器来提交一个 Google 表单来运行我的一个 Google 脚本:
ScriptApp.newTrigger('onFormSubmitted')
.forForm(form).onFormSubmit().create();
我的onFormSubmitted 函数被触发,但提供给该函数的事件参数没有source 属性。它有 the documentation says it should have 的 4 个字段中的 3 个。
那么我应该如何获得对触发此事件的表单的引用?
TMI
function onFormSubmitted(data, arg) {
log(8, data['triggerUid'], -1) // => 1874727473075378640
log(9, data['authMode'], -1) // => FULL
log(10, data['response'], -1) // => FormResponse
log(11, data['source'], -1) // => undefined
}
【问题讨论】:
-
显示
onFormSubmitted函数代码和确切的错误。 -
如果apps脚本文件绑定在Form上,则可以获取到活动的Form。
var form = FormApp.getActiveForm();这也适用于作为附加组件安装的独立文件。不用作附加组件的独立文件将无法触发 On Form Submit 事件。我不确定图书馆。但除非您将应用程序脚本文件用作库,否则我会尝试获取活动表单。 -
@SandyGood : 嗯...我正在使用这个脚本来创建许多表单并注册一个触发器。一个脚本可以绑定多个表单吗?
-
@SandyGood :是的,我对多个表单使用相同的功能。 (表单以编程方式生成。)当我的
onFormSubmit函数调用FormApp.getActiveForm()时,我得到undefined。 -
developers.google.com/apps-script/guides/bound 我相信@tehhowch 的回答可以满足您的问题。
标签: google-apps-script triggers google-forms