e.response在onFormSubmit上未定义

时间:2014-11-20 08:32:28

标签: google-apps-script google-form

我试图在表单的formSubmit触发器上执行一个简单的脚本:

function onFormSubmit(event) {
  Logger.log(event);
  var d = event.response.getItemResponses()[0].getResponse();
  ...
}

每次触发事件时,我都会收到:

[14-11-20 09:10:50:315 CET] FormApp.getActiveForm() [0,126 Sekunden]
[14-11-20 09:10:50:403 CET] FormApp.getActiveForm() [0,085 Sekunden]
[14-11-20 09:10:50:411 CET] Ausführung wird gestartet
[14-11-20 09:10:50:418 CET] Logger.log([{authMode=FULL}, []]) [0 Sekunden]
[14-11-20 09:10:50:422 CET] Ausführung fehlgeschlagen: TypeError: Methode "getItemResponses" von undefined kann nicht aufgerufen werden. (Zeile 5, Datei "Code") (0.003 Sekunden Laufzeit insgesamt)

脚本绑定到我的表单,触发器设置为"表单提交"

我的错在哪里?

2 个答案:

答案 0 :(得分:1)

无法重现您的问题。

在具有针对" onFormSubmit"的触发器设置的表单上尝试此代码。能够获得变量d中的第一个值。

function onFormSubmit(event) {
  Logger.log(event);

  var d = event.response.getItemResponses()[0].getResponse();
  Logger.log(d);

}

这是我的执行记录:

[14-11-20 10:37:57:103 PST] FormApp.getActiveForm() [0.078 seconds]
[14-11-20 10:37:57:250 PST] FormApp.getActiveForm() [0.079 seconds]
[14-11-20 10:37:57:312 PST] Starting execution
[14-11-20 10:37:57:316 PST] Logger.log([{response=FormResponse, source=Form,   authMode=FULL}, []]) [0 seconds]
[14-11-20 10:37:57:331 PST] FormResponse.getItemResponses() [0.014 seconds]
[14-11-20 10:37:57:334 PST] (class).getResponse() [0 seconds]
[14-11-20 10:37:57:334 PST] Logger.log([[----Value here----], []]) [0 seconds]
[14-11-20 10:37:57:335 PST] Execution succeeded [0.019 seconds total runtime]

答案 1 :(得分:0)

截至2020年6月,onFormSubmit触发器不会返回FormResponse对象。

它实际上返回一个包含以下内容的Google工作表表单提交事件:

authMode
ScriptApp.AuthMode枚举中的值。

例如完整

namedValues
一个对象,其中包含表单提交中的问题名称和值。

例如

{
  'First Name': ['Jane'],
  'Timestamp': ['6/7/2015 20:54:13'],
  'Last Name': ['Doe']
}

范围 一个Range对象,代表已编辑的单元格或单元格范围。

triggerUid
产生此事件的触发器的ID。

例如4034124084959907503


排列值的顺序与电子表格中显示的顺序相同。

例如['2015/05/04 15:00','amin@example.com','Bob','27','Bill', '28','Susan','25']

ref:https://developers.google.com/apps-script/guides/triggers/events