添加触发器到表单

时间:2014-08-07 01:04:25

标签: forms google-apps-script google-form

我一直在使用Google Apps处理一个简单的“Time off request”表单。我将脚本与表格相关联,该表格检测受访者的主管,并向他们发送新表格的链接以供他们批准。

以下是我用来创建新表单的脚本中的代码。

//create approval form as part of the Message Creation process.
var approvalForm = FormApp.create("Approve Days off Request")
approvalForm.setTitle("Approval form for " + user.Name)
// truncated ...

var approvalItem = approvalForm.addMultipleChoiceItem(); //Item on First Page
var disapproveReasonPage = approvalForm.addPageBreakItem(); //Page Break Item
var disapproveReason = approvalForm.addParagraphTextItem(); //Item on Second Page
// truncated ...

//Question 1, Page 1
approvalItem.setTitle(user.Name + " has requested " + daysOff + " day(s) off starting on " + firstDate+".") 
approvalItem.setHelpText("Would you like to approve this request?")
approvalItem.setRequired(true);      
approvalItem.setChoices ([
  approvalItem.createChoice('Yes', FormApp.PageNavigationType.SUBMIT),
  approvalItem.createChoice('No', FormApp.PageNavigationType.CONTINUE)
]);
//Question 2, Page 2
disapproveReason.setTitle("Would you like to give a reason?");
disapproveReason.setHelpText("Optional")
disapproveReasonPage.setGoToPage(FormApp.PageNavigationType.SUBMIT)

然后生成一个链接并发送给主管以批准该请求。 我想在上面创建的表单中添加一个触发器(approvalForm)。我想有一种方法,但无法找到最好的文档。我最接近的是TriggerBuilder班级。我尝试用

创建一个与目标表单相关联的
var approveScript = ScriptApp.newTrigger('Approval')
.forForm(approvalForm.getId())
.onFormSubmit()
.create();

但无法按照我想要的方式工作。我确实有一个名为Approval的函数,只是为了看看我是否可以用它来操作表单

function Approval(){
$form.setAcceptingResponses(false);
}

任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

该脚本最初是作为容器绑定脚本添加的。将其更改为独立的可安装脚本可解决此问题。希望这个答案将是其他有类似问题的人。