I am developing a quiz application. I have some questions with 4 options in my spreadsheet, from that spreadsheet I am generating dynamic/runtime forms, so 50 user have 50 different forms, but I am unable to collect responses to my current quiz sheet.
Code in Google Spreadsheet Script Editor:
function Quiz(){
var form = FormApp.create('Quiz');
var ss = SpreadsheetApp.getActiveSpreadsheet(),
sourceSheet = ss.getSheetByName('Sheet1'),
sourceRng = sourceSheet.getDataRange(),
sourceRows = sourceRng.getValues(),
i;
for (i = 1; i < sourceRows.length; i += 1)
{
count = 0;
var item = form.addCheckboxItem();
item.setTitle(sourceRows[i][0]);
item.setChoices([
item.createChoice(sourceRows[i][1]),
item.createChoice(sourceRows[i][2]),
item.createChoice(sourceRows[i][3]),
item.createChoice(sourceRows[i][4]),
item.createChoice(sourceRows[i][5]),
]);
}
}
for a static form I used given below code to get responses, but how can I generate dynamic forms with default setting ( where I have response destination of spreadsheet, username and given code in script editor):
function quizAnswers(){
var form = FormApp.openById(<<dynamic form ID>>);
var formResponses = form.getResponses();
for (var i = 0; i < formResponses.length; i++) {
var formResponse = formResponses[i];
var itemResponses = formResponse.getItemResponses();
for (var j = 0; j < itemResponses.length; j++) {
var itemResponse = itemResponses[j];
Logger.log('Response #%s to the question "%s" was "%s"',
(i + 1).toString(),
itemResponse.getItem().getTitle(),
itemResponse.getResponse());
}}}