执行失败:TypeError:无法在对象中找到函数getResponseForItem

时间:2015-04-13 18:53:17

标签: javascript forms google-form

我希望对我尝试使用Google附加表单通知的以下说明提供一些帮助。我按照此页面上的说明操作:https://developers.google.com/apps-script/quickstart/forms-add-on#set_it_up

我很肯定我已经复制并粘贴了正确的代码并进行了测试。我能够获得表单提交电子邮件通知,并且它可以正常工作,但当我尝试通过使用我自己的电子邮件地址提交表单来测试受访者电子邮件通知时,我没有收到受访者电子邮件通知。

当我运行执行记录时,我得到了这个:

[15-04-13 14:22:39:887 EDT] FormApp.getActiveForm() [0.245 seconds]
[15-04-13 14:22:40:023 EDT] FormApp.getActiveForm() [0.083 seconds]
[15-04-13 14:22:40:057 EDT] Starting execution
[15-04-13 14:22:40:489 EDT] FormApp.getActiveForm() [0.425 seconds]
[15-04-13 14:22:40:726 EDT] PropertiesService.getDocumentProperties() [0.236 seconds]
[15-04-13 14:22:40:742 EDT] (class).getProperty([respondentEmailItemId]) [0.013 seconds]
[15-04-13 14:22:40:804 EDT] Form.getItemById([1914529909]) [0.061 seconds]
[15-04-13 14:22:40:807 EDT] Execution failed: TypeError: Cannot find function getResponseForItem in object [object Object]. (line 274, file "Code") [0.742 seconds total runtime]

我检查了“代码”文件中的行,可以看到:

}

/**
 * Sends out respondent notificiation emails.
 *
 * @param {FormResponse} response FormResponse object of the event
 *      that triggered this notification
 */
function sendRespondentNotification(response) {
  var form = FormApp.getActiveForm();
  var settings = PropertiesService.getDocumentProperties();
  var emailId = settings.getProperty('respondentEmailItemId');
  var emailItem = form.getItemById(parseInt(emailId));
  var respondentEmail = response.getResponseForItem(emailItem)
      .getResponse();
  if (respondentEmail) {
    var template =
        HtmlService.createTemplateFromFile('RespondentNotification');
    template.paragraphs = settings.getProperty('responseText').split('\n');
    template.notice = NOTICE;
    var message = template.evaluate();
    MailApp.sendEmail(respondentEmail,
        settings.getProperty('responseSubject'),
        message.getContent(), {
          name: form.getTitle(),
            htmlBody: message.getContent()
        });
  }
}

表示var respondentEmail = response.getResponseForItem(emailItem)的代码是第274行

任何帮助将不胜感激,我是一个新手,我正在尝试学习一些技巧。谢谢!

0 个答案:

没有答案