Когда я вызываю getContent()
в файл формы, он возвращает empty/null.Google api - как вы получаете текст в Формах?
Как получить текстовое содержимое файла формы на Google Диске?
Когда я вызываю getContent()
в файл формы, он возвращает empty/null.Google api - как вы получаете текст в Формах?
Как получить текстовое содержимое файла формы на Google Диске?
Вы правы, что вам нужно использовать Forms Service для извлечения содержимого вашей формы Google.
Если вы хотите получить содержимое формы (вопросы с вариантами выбора), вам необходимо использовать метод getItems()
, чтобы получить массив всех элементов в форме.
// Open a form by ID and log the responses to each question.
var form = FormApp.openById('Form_ID');
// Logs the questions
var items = form.getItems()
for (var i = 0; i < items.length; i++){
Logger.log(items[i].getTitle());
// Logs the choices
if (items[i].getType() == 'CHECKBOX') {
var itemChoices = items[i].asCheckboxItem().getChoices()
for (var j = 0; j < itemChoices.length; j++) {
var choicesValue = itemChoices[j].getValue();
Logger.log(choicesValue)
}
}
};
Для getType
, вам нужно указать, какой тип выбора формы имеет. В приведенном выше примере кода я использовал asCheckboxItem()
для возврата элементов. Вот list of methods, которые вы можете использовать (asCheckboxItem()
, asMultipleChoiceItem()
, asTextItem()
и т. Д.).
Если вы хотите получить содержание формы (вопросы с ответами), вам необходимо использовать FormResponse
, чтобы получить ответы на форму в целом.
// Open a form by ID and log the responses to each question.
var form = FormApp.openById('Form_ID');
// Logs the questions with responses
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());
}
}
Вы также можете обратиться с этим SO резьбом:
Надеется, что это помогает!
Я думаю, что для получения содержимого формы, найденной на Google Диске, вам придется использовать сервис Forms (который представляет собой совершенно отдельный API, чем диск) –