以编程方式创建自动禁用触发器的表单
Programatically create form with trigger disabled automatically
TL;DR:如何以编程方式创建带有不会被禁用的触发器的表单。
function createdFormTrigger(e) {
var result = {};
var responses = e.response.getItemResponses();
for (var i = 0; i < responses.length; i++) {
var title = responses[i].getItem().getTitle();
var response = responses[i].getResponse();
result[title] = response;
}
var db = FirebaseApp.getDatabaseByUrl("https://firebase-livedata.com");
var form = FormApp.getActiveForm();
db.pushData(form.getTitle(), result)
}
function onFormSubmit(e) {
var email = e.response.getRespondentEmail();
var form = FormApp.create("Form " + e.response.getId())
form.addEditor(email)
ScriptApp.newTrigger('createdFormTrigger')
.forForm(form)
.onFormSubmit()
.create();
}
我创建了一个表单,其中包含在表单提交时激活的触发器 (onFormSubmit
)。触发器将以编程方式创建一个新表单并为其分配触发器 createdFormTrigger
。触发器已创建但总是自动禁用(附图片),有没有办法让它不自动禁用?
我已经添加了所需的库 (Firebase),设置了范围("https://www.googleapis.com/auth/forms"
& "https://www.googleapis.com/auth/forms.currentonly"
),并确保我 运行 的形式正确。有人可以帮我吗?
触发器被自动禁用,因为触发器所附加的表单不包含绑定脚本项目。
一个可能的解决方案是复制一个已经有一个绑定脚本项目的表单,而不是从头开始创建一个表单,该项目已经包含触发器调用的函数。
TL;DR:如何以编程方式创建带有不会被禁用的触发器的表单。
function createdFormTrigger(e) {
var result = {};
var responses = e.response.getItemResponses();
for (var i = 0; i < responses.length; i++) {
var title = responses[i].getItem().getTitle();
var response = responses[i].getResponse();
result[title] = response;
}
var db = FirebaseApp.getDatabaseByUrl("https://firebase-livedata.com");
var form = FormApp.getActiveForm();
db.pushData(form.getTitle(), result)
}
function onFormSubmit(e) {
var email = e.response.getRespondentEmail();
var form = FormApp.create("Form " + e.response.getId())
form.addEditor(email)
ScriptApp.newTrigger('createdFormTrigger')
.forForm(form)
.onFormSubmit()
.create();
}
我创建了一个表单,其中包含在表单提交时激活的触发器 (onFormSubmit
)。触发器将以编程方式创建一个新表单并为其分配触发器 createdFormTrigger
。触发器已创建但总是自动禁用(附图片),有没有办法让它不自动禁用?
我已经添加了所需的库 (Firebase),设置了范围("https://www.googleapis.com/auth/forms"
& "https://www.googleapis.com/auth/forms.currentonly"
),并确保我 运行 的形式正确。有人可以帮我吗?
触发器被自动禁用,因为触发器所附加的表单不包含绑定脚本项目。
一个可能的解决方案是复制一个已经有一个绑定脚本项目的表单,而不是从头开始创建一个表单,该项目已经包含触发器调用的函数。