javascript - 为什么 Google 表单不会在 formSubmit 上返回用户响应?
问题描述
我创建了一个示例 google 表单,并定义了如下函数:
function onFormSubmit(e) {
Logger.log('Inside function');
Logger.log('Emailing data row ->');
var itemResponses = e.getItemResponses();
var email = itemResponses[0].getResponse();
Logger.log(itemResponses);
}
在Edit-> Current project's triggers
我添加了要在表单提交时调用的函数:
在My Executions
部分中,我看到以下错误:
TypeError:无法调用未定义的方法“getItemResponses”。在 onSubmit(代码:7)
为什么会这样?我应该如何捕获表单字段?我的代码或某些权限有问题吗?
解决方案
似乎有一个错误Google Forms
只发生在新创建的表单上:
建议2个解决方法:
1) 在代码中的某处包含对 FormApp 的调用,即使在注释中也是如此。例如:
// FormApp.getActiveForm();
2) 按照以下说明将范围添加到您的 Apps 脚本清单文件中:
https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes
添加的范围是“ https://www.googleapis.com/auth/forms ”
完成这两个选项中的任何一个后,重新授权您的脚本。您可以在脚本编辑器中运行任何函数来执行此操作。
推荐阅读
- arrays - ColdFusion:如何检查数组元素是否存在?
- r - R中的函数蒙特卡罗模拟错误
- azure - 在 Azure 中使用 ARM 模板在基于 Linux 容器的函数应用上启用持续部署
- java - UTF-8 JAXB 编组后 XML 内容仍为 ISO 8859-1
- openshift - OKD(OpenShift Origin)可以安装在 RHEL 8 上吗?
- sql - Excel 文件、案例陈述或替代方案的 MS SQL Excel
- mapi - 如何从 RDOAddressList 实例访问 AddressListType?
- c# - 分块上传文件 - .Net 核心
- git - 我分支了一个未合并的功能分支,但该未合并的分支现在已合并
- javascript - 在量角器中,如何在不依赖超时的情况下等到 pop 出现?