繁体   English   中英

Google Apps Script onFormSubmit(e)“e 未定义”?

[英]Google Apps Script onFormSubmit(e) "e is undefined"?

我正在尝试提交表单以将新问题推送到 github。 这是我从评论者似乎能够开始工作的要点中获得的代码:

var ghToken = "MY_TOKEN";



function onFormSubmit(e) {
  Logger.log(e)
var result = e.response.getItemResponses();

var testResult = result[1].getResponse();
var describeIssues = result[2].getResponse();
var issueScreenshot = result[3].getResponse();
var iosMail = result[4].getResponse();
var iosGmail = result[5].getResponse();
var iosOutlook = result[6].getResponse();  
var androidGmail = result[7].getResponse();
var androidOutlook = result[8].getResponse();
var androidYahoo = result[9].getResponse();


var body = "## Status \n" +
"![warning]" + testResult +"\n" +
describeIssues +"\n" +
"______________________________________________________________________________________________________\n" +
issueScreenshot +"\n" +
"______________________________________________________________________________________________________\n" +
"## Test Results\n" +
"#### iOS\n" +
"| Mail | Outlook | Gmail\n" +
"| ------------- |:-------------:| :--------------:|\n" +
"| ![ios mail]"+iosMail+" | "+iosOutlook+" | "+iosGmail+"\n" +
"| **Interactive** | **Static** | **Static**\n"+
"| Interactive module off-center | Working - 2-column | Working 1-column\n"+
"#### Android = Samsung s8+\n" +
"| Gmail | Outlook | Yahoo! Mail\n" +
"| ------------- |:-------------:| :--------------:|\n" +
"| ![ios mail]"+iandroidGmail+" | "+androidOutlook+" | "+androidYahoo+"\n" +
"| **Interactive** | **Static** | **Static**\n"+
"| Interactive module off-center | Working - 2-column | Working 1-column\n";

  var payload = {
    "title": "Jon testing",
    "body": body
  };

  var options = {
    "method": "POST",
    "contentType": "application/json",
    "payload": JSON.stringify(payload)
  };

  var response = UrlFetchApp.fetch("https://api.github.com/repos/me/myRepo/issues?access_token="+ghToken, options);
}

但是,这不起作用,当我在脚本编辑器中运行脚本或提交表单响应时,我收到TypeError: Cannot call method "getItemResponses" of undefined. (line 7, file "Code") TypeError: Cannot call method "getItemResponses" of undefined. (line 7, file "Code") (顺便说一下,触发器被正确设置为使用存储在电子表格中的数据在表单提交上运行,我验证了这些数据正在填充)。

我究竟做错了什么? 为什么e是未定义的?

如果在脚本编辑器中运行,当然e是未定义的; 它的价值从何而来? 它会包含什么? 事件对象由触发器填充。

电子表格触发器FormSubmit没有response字段,因此e.response未定义。

它是具有response字段的表单触发器FormSubmit 要创建它,请转到表单的脚本编辑器,而不是电子表格的脚本编辑器。 (或者,如果您想使用已有的电子表格触发器,只需确保访问它的属性,例如values 。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM