Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Forms 谷歌表单脚本不工作_Forms_Google Apps Script_Google Sheets_Google Docs - Fatal编程技术网

Forms 谷歌表单脚本不工作

Forms 谷歌表单脚本不工作,forms,google-apps-script,google-sheets,google-docs,Forms,Google Apps Script,Google Sheets,Google Docs,我似乎无法让表单触发的脚本正常运行。确切地说,它可以运行,我可以做一些事情,但是我不能访问应该发送到事件处理程序函数的表单数据 我有一个由谷歌表单触发的非常简单的脚本: function OnFormSubmit(e) { try { var timeStamp = e.namedValues["Timestamp"][0]; MailApp.sendEmail(emailAddress, "SCRIPT ENTRY", timeStamp); } catch (x)

我似乎无法让表单触发的脚本正常运行。确切地说,它可以运行,我可以做一些事情,但是我不能访问应该发送到事件处理程序函数的表单数据

我有一个由谷歌表单触发的非常简单的脚本:

function OnFormSubmit(e)
{
  try {
    var timeStamp = e.namedValues["Timestamp"][0];
    MailApp.sendEmail(emailAddress, "SCRIPT ENTRY", timeStamp); 
  } catch (x) {
    var message = x.toString() + "\n[" + Utilities.jsonStringify(e) + "]\n"
    MailApp.sendEmail(emailAddress, "SCRIPT ERROR", message); 
    }
}
我还有一个非常简单的表单,只有一个条目。我已经扣好扳机了。表单将运行并向电子表格中添加一行。我收到电子邮件,所以脚本正在触发。但是我收到了脚本错误电子邮件。信息是:

TypeError: Cannot read property "Timestamp" from undefined.
[{"response":"FormResponse","authMode":"FULL"}] 
“时间戳”确实存在于表单响应表中(我相信它总是会存在的;时间戳是一个自动输入)

似乎OnFormSubmit()没有被传递参数,我认为它应该被传递。但我看到的所有例子都是这样的


有什么帮助吗

您似乎是在表单中使用脚本(从对象e中的值可以看出),而不是在电子表格中使用脚本

您应该使用forResponse类,您将看到方法完全不同,我不打算在这里复制文档,但例如时间戳使用