Google sheets onFormSubmit |触发响应时出错
试图设置onFormSubmit响应触发器(针对Google表单),但出现错误“无法读取未定义的属性“response”。查看触发器执行时也会收到失败或超时消息。在这么多论坛上寻找答案,但没有运气。这是代码的问题还是我如何设置触发器的问题 非常感谢您的帮助Google sheets onFormSubmit |触发响应时出错,google-sheets,google-forms,Google Sheets,Google Forms,试图设置onFormSubmit响应触发器(针对Google表单),但出现错误“无法读取未定义的属性“response”。查看触发器执行时也会收到失败或超时消息。在这么多论坛上寻找答案,但没有运气。这是代码的问题还是我如何设置触发器的问题 非常感谢您的帮助 function onFormSubmit(e) { // Open the sheet which stores the responses var ssID = 'Sheet ID' // Replace with spreadsh
function onFormSubmit(e) {
// Open the sheet which stores the responses
var ssID = 'Sheet ID' // Replace with spreadsheet ID
var ssName = 'Form responses' // Replace with sheet name
var sheet = SpreadsheetApp.openById(ssID).getSheetByName(ssName);
// #1 - Identify the requestor's email address and save it to the sheet.
var email = Session.getEffectiveUser().getEmail();
sheet.getRange(sheet.getLastRow(), 7).setValue(email);
// #2 - Get the response ID and save it to the sheet.
var responseID = e.response.getId();
sheet.getRange(sheet.getLastRow(), 8).setValue(response_id);
// #3 - Set the status of the request to 'Pending'.
sheet.getRange(sheet.getLastRow(), 9).setValue('Pending');
// Create variables for email
var items = e.source.getItems();
var manager_email = e.response.getResponseForItem(items[3]).getResponse()
var subject = "A time-off request has been submitted";
// Include form data in the body of the email
var message = "";
for(var i in items)
message += "\n\n" + items[i].getTitle() + ":" +
e.response.getResponseForItem(items[i]).getResponse();
// #4 - Insert approve and deny links within the body of the email
message += "\n\nClick below link to approve: \n"
https://script.google.com/macros/s/AKfycbxdS3cUP_oSjfphDaSNkn_5GuxxlPG6czVHH_wGJ2OxImqFASmZ/exec?id=" + responseID + "&status=Approved \n\n" + "Click below link to deny: \n
//script.google.com/macros/s/AKfycbxdS3cUP_oSjfphDaSNkn_5GuxxlPG6czVHH_wGJ2OxImqFASmZ/exec?id=" + responseID + "&status=Denied";
// #5 - Email the manager the request information
MailApp.sendEmail(manager_email, subject, message);
}
欢迎请提供完整的错误消息,其中包含更多信息,特别是触发错误的代码行。看起来您的脚本好像绑定到了电子表格,对吗<代码>响应在绑定到表单时可用,这可以解释错误。在查看触发器执行时也会收到失败或超时消息。我注意到了。我想它可能会解决后,脚本调试。谢谢你的回复堆。错误发生在第13行。我现在让它工作了<代码>var responseID=e.response.getId()代码>除了输入错误外,该错误仅在从脚本编辑器运行函数时显示。提交表单时,它似乎会触发“确定”。从编辑器执行时,您没有将此对象作为输入参数。因此,从编辑器执行时,输入变量
e
未定义是正常的。