无法访问 FormResponse 中的所有 ItemResponses
Unable to access all ItemResponses in a FormResponse
我在附加到 Google 表单的 Apps 脚本函数中发生了一个奇怪的错误。
我调用响应,然后将它们列在一个数组中。日志显示数组中有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');
看看获取活动表单是否有问题。这没有帮助。
这是因为一些答案是提交给 2 个问题的表单。如果您在更新表单之前提交了一些回复,这些新问题的答案将为 "undefined".
我在附加到 Google 表单的 Apps 脚本函数中发生了一个奇怪的错误。
我调用响应,然后将它们列在一个数组中。日志显示数组中有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');
看看获取活动表单是否有问题。这没有帮助。
这是因为一些答案是提交给 2 个问题的表单。如果您在更新表单之前提交了一些回复,这些新问题的答案将为 "undefined".