Fla*_*dun 13 javascript google-apps google-apps-script google-forms
我正在尝试使用绑定到表单的脚本从谷歌表单收集响应详细信息,使用onFormSubmit()触发器.
大多数情况下收到的细节没有错误,但偶尔会出现错误.收到触发器但没有数据传递给脚本.响应由Google表单控制台接收,但不会转发到脚本.
接收数据的代码:
function onFormSubmit(e)
{
Logger.log("A response has been received!");
Logger.log(e);
var resp = e.response.getItemResponses(); //capturing trigger event output
var form = e.source;
......
Run Code Online (Sandbox Code Playgroud)
出现错误时的执行记录:
[16-09-27 07:29:15:073 PDT] Starting execution
[16-09-27 07:29:15:096 PDT] Logger.log([A response has been received!, []]) [0 seconds]
[16-09-27 07:29:15:097 PDT] Logger.log([{authMode=FULL, triggerUid=xxxxxxx41}, []]) [0 seconds]
[16-09-27 07:29:15:099 PDT] Execution failed: TypeError: Cannot call method "getItemResponses" of undefined. (line 18, file "Code") [0.002 seconds total runtime]
Run Code Online (Sandbox Code Playgroud)
到目前为止,我通过复制表单并重新设置所有权限来解决它.但是,我想要一个不再让我这样做的解决方案.在我的第10次重复现在:(
当我成功收到回复时,e
也有一个回复键.
这是一个可以防止脚本破坏的解决方法:
function onFormSubmit(e)
{
Logger.log("A response has been received!");
// Check if e is defined
if (e) {
// Any code that use e should be inside this block
Logger.log(e);
var resp = e.response.getItemResponses(); //capturing trigger event output
var form = e.source;
} else {
// Log if e is undefined
Logger.log('e is undefined!');
}
......
Run Code Online (Sandbox Code Playgroud)
我同意Rubén你应该联系google支持来调查这个问题,特别是你可以在控制台中看到响应.
归档时间: |
|
查看次数: |
2191 次 |
最近记录: |