Нет необходимости использовать UrlFetchApp , поскольку вы можете использовать Class FormResponse и Class ItemResponse . Этот код поможет вам в решении вашей проблемы:
function autoDataEntry() {
// Get the desire form with its questions and create
// a response to later be submitted
var form = FormApp.openById("YOUR-FORM-ID");
var formResponse = form.createResponse();
var formQuestions = form.getItems();
var workbook = SpreadsheetApp.getActiveSpreadsheet();
var worksheet = workbook.getSheetByName("Sheet1");
// Get all the needed values in the second row
var answers = worksheet.getRange("A2:E2").getValues();
answers[0].forEach((answer, answerNumber) => {
// Get the question depending of its type
var question = getQuestion(formQuestions, answerNumber);
// Create the response to your question with the value obtained in the sheet
var formAnswer = question.createResponse(answer);
// Add the answer to the response
formResponse.withItemResponse(formAnswer);
});
// submit the form response
formResponse.submit();
}
Что я сделал, так это получил бланк, куда вы хотите отправить свой ответ, и лист с ответами. Затем я перебрал эти ответы, чтобы добавить их к соответствующему вопросу, который будет добавлен к ответу формы. Когда этот процесс завершится, вам нужно только отправить ответ формы.
Редактировать
Я изменил свой код, добавив следующую функцию и вызвав его внутри forEach
в моем autoDataEntry
function:
// This function will return the question as the requiered type
function getQuestion(formQuestions, answerNumber){
var questionType = formQuestions[answerNumber].getType();
switch(questionType){
case FormApp.ItemType.TEXT:
return formQuestions[answerNumber].asTextItem();
case FormApp.ItemType.MULTIPLE_CHOICE:
return formQuestions[answerNumber].asMultipleChoiceItem();
case FormApp.ItemType.DATE:
return formQuestions[answerNumber].asDateItem();
}
}
Таким образом, вы получите правильный тип вопроса, поскольку ситуация требует столько времени, сколько вы задали в качестве условия в операторе switch. Вы можете увидеть все типы в Enum ItemType .