如何使用 Apps 脚本导入 Google Forms 复选框上的选中选项?

How to import checked options on Google Forms checkbox with Apps Script?

我有一个调查,其中有几个问题,每个问题可以是不同的类型(段落、复选框、比例)。我知道如何导入所有问题的答案,除了复选框。

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

之后我将响应提取为 linharesponses[i](for 循环)

问题是:如果问题是一个复选框,用户可以在其中select多个选项,这种方法只导入第一个答案。

我试过的另一件事是

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

//and then importing as

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

但这会导入所有选项,而不是 selected 选项。

你能帮我想办法导入 selected 选项吗?

  • 对于 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)
      }
    }
  }
}

注:

  • 例如,如果复选框的标题是"sample checkbox",每个复选框的名称是"foo"、"bar"和"baz",当"foo" 和 "baz" 被检查并提交,此脚本 returns sample checkbox, [foo, baz].
  • 在此示例脚本中,检索了复选框的响应值。如果要检索所有项目的响应值,请删除 if (itemResponse.getItem().getType() == FormApp.ItemType.CHECKBOX) {.

参考文献:

如果我误解了你的问题,这不是你想要的方向,我很抱歉。