我在表单和电子表格上有相同的脚本。当我从表单执行脚本时,它100%工作,但我可以获得基于时间的安装触发器,我需要在上午8:29切换表单,并在上午8:59停止接受响应。
当我做一个" On Form Submit"从电子表格中,我在表单脚本上使用的提交功能不再有效。
我需要帮助在FORM脚本中获取时间触发器...或者帮助理解我需要在Sheet端执行的操作才能使函数正常工作。
以下是在表单上工作的代码,但不在电子表格中...我得到" Form Submitted"就是这样,当表单触发表单提交触发器时,不再有Logger.Log条目。数据发送"表单响应1"同一个电子表格中的工作表。
function onFormSubmit(e) {
Logger = BetterLog.useSpreadsheet('XXXXXXXXXX');
Logger.log('Form Submitted');
var formResponse = e.response;
var itemResponses = formResponse.getItemResponses();
var student=[];
var studentchoice = [];
for (var i=0; i<itemResponses.length; i++) {
if(itemResponses[i].getItem().getTitle()=="Pick your class"){
//We will have the teachers name...open the right sheet
var teacher = itemResponses[i].getResponse();
Logger.log(teacher);
classroom(teacher); //stores teacher in cache to use in another function
}else{
student.push(itemResponses[i].getItem().getTitle());
studentchoice.push(itemResponses[i].getResponse());
Logger.log(itemResponses[i].getItem().getTitle());
}
}
if(student.length >= 1 && studentchoice.length >= 1){
enterOrders(classroom(),student,studentchoice);
}
var formattedDate = Utilities.formatDate(new Date(), "EST", "h:mm a");
Logger.log(formattedDate);
}
答案 0 :(得分:0)
请注意,时间驱动的脚本可能会“略微随机化”。来自官方文档
时间可能会稍微随机化 - 例如,如果您创建一个周期性的上午9点触发器,Apps脚本会在上午9点到上午10点之间选择一个时间,然后保持每天的时间保持一致,以便在此之前24小时过去触发再次发射。
据我了解,您的脚本可以在结束时间之后开始
https://developers.google.com/apps-script/guides/triggers/installable