Невозможно получить доступ ко всем ItemResponses в FormResponse - PullRequest
0 голосов
/ 07 мая 2018

У меня странная ошибка, возникающая в функции скрипта приложения, прикрепленной к форме Google.

Я вызываю ответы, затем перечисляю их в массиве. Журнал показывает, что в массиве есть 6 элементов, что соответствует шести вопросам формы:

[18-05-08 00:13:31:900 AEST] [ItemResponse, ItemResponse, ItemResponse, ItemResponse, ItemResponse, ItemResponse]

Когда я звоню первым двум, он работает просто отлично. Больше, и он выдает ошибку и говорит undefined.

// Open a form by ID and log the responses to each question.
var form = FormApp.getActiveForm();
var formResponses = form.getResponses();
for (var i = 0; i < formResponses.length; i++) {
  var formResponse = formResponses[i];
  var editUrl = String(formResponse.getEditResponseUrl());
  var theResponseId = formResponses.indexOf(form);
  var itemResponses = formResponse.getItemResponses();
  var timestamp = formResponse.getTimestamp();  
  var firstName = itemResponses[0].getResponse();
  var lastName = itemResponses[1].getResponse();
  Logger.log(itemResponses); // Log shows there are 6 objects in the array. Matching the amount of Form Questions.

  // If I try to use these variables below, it doesn't work and the script 'breaks' at this point.

  //var number = itemResponses[2].getResponse();
  //var email = itemResponses[3].getResponse();
  //var firstName2 = itemResponses[4].getResponse();
  //var comments = itemResponses[5].getResponse();
}

Примечание: Я попытался FormApp.openById('id');, чтобы проверить, не является ли получение активной формы проблемой. Это не помогло.

1 Ответ

0 голосов
/ 07 мая 2018

Это связано с тем, что некоторые ответы были представлены в форме из 2 вопросов. Если вы отправили несколько ответов до обновления формы, ответы на эти новые вопросы будут «неопределенными».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...