如何使用 Google Apps 脚本为 Google 表单下拉菜单设置 "values" 和 "go to section based on answer"?

How to use Google Apps Script to set the "values" and "go to section based on answer" for a Google Form dropdown?

我使用 Google Sheet 存储 "values" 和 "go to section based on answer" 用于 Google 表单下拉列表。如何使用 Google Apps 脚本为下拉菜单设置 "values" 和 "go to section based on answer"?

我可以使用脚本从 Google Sheet 设置值,但我无法使用 [=35= 为下拉列表设置 "go to section based on answer" ] 和脚本。

我在用于设置值的脚本中已经有了下拉列表的 listItem。我尝试使用 createChoice(value, navigationItem) 并用它来设置 "go to section" 然后使用 setChoiceValues(values) 但我在表格上的所有内容都设置为 "Choice"。

如果您只想创建一个下拉项,根据使用 Apps 脚本的选择将您带到不同的部分:

function createDropdownExample() {
  var form = FormApp.openById('your_form_id');
  var item = form.addMultipleChoiceItem();
  item.setTitle('Do you prefer cats or dogs?');  
  var dogsPage = form.addPageBreakItem().setTitle('Dogs');
  var catsPage = form.addPageBreakItem().setTitle('Cats');
  var dogsChoice = item.createChoice('Dogs', dogsPage);
  var catsChoice = item.createChoice('Cats', catsPage);
  item.setChoices([dogsChoice, catsChoice]);
}

我使用的是 setChoiceValues(values) 而不是 setChoices(choices)。当我进行此更正时,我能够动态设置 "go to section"。

这是上面的版本,其中包含电子表格中的值:

function GoToPage() {
var form = FormApp.openById('MY FORM');
var spreadsheet = SpreadsheetApp.openById("MY SPREADSHEET");
var sheet = spreadsheet.getSheetByName("MY SHEET");
var list = form.getItemById("MY MULTIPLE CHOICE ID").asListItem()  
var pagebreak01 = form.getItemById("PAGE BREAK ID 1").asPageBreakItem();
var pagebreak02 = form.getItemById("PAGE BREAK ID 2").asPageBreakItem();
var pagebreak03 = form.getItemById("PAGE BREAK ID 3").asPageBreakItem();
var choice1 = sheet.getRange("RANGE 1 FROM MY SHEET").getValues();
var choice2 = sheet.getRange("RANGE 2 FROM MY SHEET").getValues();
var choice3 = sheet.getRange("RANGE 3 FROM MY SHEET").getValues();  
list.setChoices([
  list.createChoice(choice1, pagebreak01),
  list.createChoice(choice2, pagebreak02),
  list.createChoice(choice3, pagebreak03)]); 
}