Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets onFormSubmit |触发响应时出错_Google Sheets_Google Forms - Fatal编程技术网

Google sheets onFormSubmit |触发响应时出错

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

试图设置onFormSubmit响应触发器(针对Google表单),但出现错误“无法读取未定义的属性“response”。查看触发器执行时也会收到失败或超时消息。在这么多论坛上寻找答案,但没有运气。这是代码的问题还是我如何设置触发器的问题

非常感谢您的帮助

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
未定义是正常的。