Как импортировать отмеченные опции в Google Forms с помощью Apps Script? - PullRequest
0 голосов
/ 04 октября 2019

У меня есть опрос, в котором есть несколько вопросов, каждый из которых может быть разного типа (абзац, флажок, шкала). Я знаю, как импортировать ответы на все вопросы, кроме флажка.

var form = FormApp.openById(idg);
var formResponses = form.getResponses();
var linhaform = formResponses[j];
var linharesponses = linhaform.getItemResponses();

После этого я извлекаю ответы в виде linharesponses [i] (для цикла)

Проблема заключается в следующем:если вопрос является флажком, в котором пользователь может выбрать несколько вариантов, этот метод импортирует только первый ответ.

Другая вещь, которую я пробовал, это

 var chkItem = linharesponses[i].getItem().asCheckboxItem();

//and then importing as

chkItem.getChoices()[j].getValue();

, но при этом импортируются все варианты, а не выбранные.

Можете ли вы помочь мне найти способ импорта выбранных параметров?

1 Ответ

1 голос
/ 05 октября 2019
  • Для флажка в форме Google вы хотите получить значения флажков, которые были проверены из ответа.
    • В вашем вопросе я понял import selected options, поскольку вы хотите получить значения отмеченных флажков.

Если мое понимание верно, как насчетэтот ответ? Пожалуйста, подумайте об этом как об одном из нескольких ответов.

Пример сценария:

function myFunction() {
  var idg = "###"; // Please set Form ID.
  var form = FormApp.openById(idg);
  var formResponses = form.getResponses();
  for (var j = 0; j < formResponses.length; j++) {
    var linhaform = formResponses[j];
    var linharesponses = linhaform.getItemResponses();
    for (var k = 0; k < linharesponses.length; k++) {
      var itemResponse = linharesponses[k];
      if (itemResponse.getItem().getType() == FormApp.ItemType.CHECKBOX) {
        var response = itemResponse.getResponse();
        Logger.log("%s, %s", itemResponse.getItem().getTitle(), response)
      }
    }
  }
}

Примечание:

  • Например, если заголовок флажка равен "образец флажка ", и имена каждого флажка -" foo "," bar "и" baz ", когда флажки" foo "и" baz "были проверены и отправлены, этот сценарий возвращает sample checkbox, [foo, baz].
  • В этом примере сценария возвращаются значения ответа флажка. Если вы хотите получить значения ответов для всех элементов, удалите if (itemResponse.getItem().getType() == FormApp.ItemType.CHECKBOX) {.

Ссылки:

Если я неправильно понял ваш вопрос и это не то направление, в котором вы хотите, я приношу свои извинения.

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