Ответ на форму в целом. FormResponse
можно использовать тремя способами: для доступа к ответам, отправленным респондентом (см. getItemResponses()
), для программной отправки ответа в форму (см. withItemResponse(response)
и submit()
) и для создания URL-адреса для форма, которая предварительно заполняет поля, используя предоставленные ответы. FormResponse
могут быть созданы или доступны из Form
.
// Open a form by ID and log the responses to each question. var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); 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()); } }
Методы
Метод | Тип возврата | Краткое описание |
---|---|---|
getEditResponseUrl() | String | Создает URL-адрес, который можно использовать для редактирования уже отправленного ответа. |
getGradableItemResponses() | ItemResponse[] | Получает все ответы на элементы, содержащиеся в ответе формы, в том же порядке, в котором элементы отображаются в форме. |
getGradableResponseForItem(item) | ItemResponse | Получает ответ элемента, содержащийся в ответе формы для данного элемента. |
getId() | String | Получает идентификатор ответа формы. |
getItemResponses() | ItemResponse[] | Получает все ответы на элементы, содержащиеся в ответе формы, в том же порядке, в котором элементы отображаются в форме. |
getRespondentEmail() | String | Получает адрес электронной почты лица, отправившего ответ, если параметр Form.setCollectEmail(collect) включен. |
getResponseForItem(item) | ItemResponse | Получает ответ элемента, содержащийся в этом ответе формы для данного элемента. |
getTimestamp() | Date | Получает метку времени для отправки ответа формы. |
submit() | FormResponse | Отправляет ответ. |
toPrefilledUrl() | String | Создает URL-адрес для формы, в которой ответы предварительно заполняются на основе ответов в этом ответе формы. |
withItemGrade(gradedResponse) | FormResponse | Добавляет оценки данного ответа элемента к ответу формы. |
withItemResponse(response) | FormResponse | Добавляет данный ответ элемента к ответу формы. |
Подробная документация
getEditResponseUrl()
Создает URL-адрес, который можно использовать для редактирования уже отправленного ответа. Если параметр Form.setAllowResponseEdits(enabled)
отключен, ссылка ведет на страницу, на которой объясняется, что редактирование ответов формы отключено. Любой, кто посещает ссылку, может редактировать ответ, хотя ему нужна учетная запись с доступом к форме, если включен параметр Form.setRequireLogin(requireLogin)
. Если параметр Form.setCollectEmail(collect)
включен, форма записывает адрес электронной почты пользователя, редактировавшего ответ, вместо адреса электронной почты исходного респондента.
Для ответа формы, созданного сценарием, но еще не отправленного, этот метод возвращает null
.
Возвращаться
String
— URL-адрес для изменения отправленного ответа.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getGradableItemResponses()
Получает все ответы на элементы, содержащиеся в ответе формы, в том же порядке, в котором элементы отображаются в форме. Этот метод работает так же, как и getItemResponses()
, но для возможности оценки отсутствующего ответа он по-прежнему возвращает ItemResponse
, если соответствующий Item
может быть оценен (т. е. имеет значение в баллах), даже если фактического ответа нет. Однако, если Item
не подлежит оценке, этот метод исключает этот элемент из возвращаемого массива.
Возвращаться
ItemResponse[]
— массив ответов на каждый вопрос в форме, за который респондент мог получить оценку.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getGradableResponseForItem(item)
Получает ответ элемента, содержащийся в ответе формы для данного элемента. Этот метод работает аналогично getResponseForItem(item)
, но для возможности оценки отсутствующего ответа он по-прежнему возвращает ItemResponse
, если соответствующий Item
может быть оценен (т. е. имеет значение в баллах), даже если фактического ответа нет. Однако, если Item
нельзя оценить, этот метод возвращает null
.
Параметры
Имя | Тип | Описание |
---|---|---|
item | Item |
Возвращаться
ItemResponse
— ответ для данного элемента или null
, если его не существует и элемент не оценивается.
getId()
Получает идентификатор ответа формы. Этот метод возвращает null
, если ответ формы не был отправлен.
Возвращаться
String
— идентификатор ответа формы или null
, если ответ формы не был отправлен.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getItemResponses()
Получает все ответы на элементы, содержащиеся в ответе формы, в том же порядке, в котором элементы отображаются в форме. Если ответ формы не содержит ответа для заданного TextItem
, DateItem
, TimeItem
или ParagraphTextItem
, ItemResponse
, возвращаемый для этого элемента, будет иметь в качестве ответа пустую строку. Если в ответе формы отсутствует ответ для любого другого типа элемента, этот метод исключает этот элемент из возвращаемого массива.
Возвращаться
ItemResponse[]
— массив ответов на каждый элемент вопроса в форме, на который респондент дал ответ
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getRespondentEmail()
Получает адрес электронной почты лица, отправившего ответ, если параметр Form.setCollectEmail(collect)
включен.
Для ответа формы, созданного сценарием, но еще не отправленного, этот метод возвращает null
.
Возвращаться
String
— адрес электронной почты человека, отправившего этот ответ, если он доступен, или null
, если скрипт создал этот ответ, но еще не отправил его.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getResponseForItem(item)
Получает ответ элемента, содержащийся в этом ответе формы для данного элемента.
Параметры
Имя | Тип | Описание |
---|---|---|
item | Item |
Возвращаться
ItemResponse
— ответ для данного элемента или null
, если его не существует.
getTimestamp()
Получает метку времени для отправки ответа формы.
Для ответа формы, созданного сценарием, но еще не отправленного, этот метод возвращает null
.
Возвращаться
Date
— отметка времени, когда этот ответ был отправлен, или null
, если скрипт создал этот ответ, но еще не отправил его.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
submit()
Отправляет ответ. Выдает исключение сценария, если ответ уже был отправлен.
Возвращаться
FormResponse
— вновь созданный ответ, сохраненный в хранилище ответов формы.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
toPrefilledUrl()
Создает URL-адрес для формы, в которой ответы предварительно заполняются на основе ответов в этом ответе формы.
Возвращаться
String
— URL формы с предварительно заполненными ответами.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
withItemGrade(gradedResponse)
Добавляет оценки данного ответа элемента к ответу формы. Этот метод применяется только к уже отправленным ответам формы и влияет только на сохраненные оценки после их отправки. Этот метод также обновляет только оценки ответов на вопросы; это не влияет на фактический ответ (поскольку ответ уже отправлен). Если этот метод вызывается несколько раз для одного и того же элемента, сохраняется только последняя оценка. Если ItemResponse не содержит оценок, этот метод удалит оценки для элемента.
// Programmatically award partial credit for a given response var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); var formResponses = form.getResponses(); var formItems = form.getItems(); for (var i = 0; i < formResponses.length; i++) { var formResponse = formResponses[i]; for (var j = 0; j < formItems.length; j++) { var item = formItems[j]; var points = item.asMultipleChoiceItem().getPoints(); var itemResponse = formResponse.getGradableResponseForItem(item); Logger.log('Award half credit for answers containing the word "Kennedy"'); var answer = itemResponse.getResponse(); if (answer != null && answer.includes('Kennedy')) { itemResponse.setScore(points / 2); formResponse.withItemGrade(itemResponse); } } } form.submitGrades(formResponses);
Параметры
Имя | Тип | Описание |
---|---|---|
gradedResponse | ItemResponse |
Возвращаться
FormResponse
— это FormResponse
, для цепочки
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
withItemResponse(response)
Добавляет данный ответ элемента к ответу формы. Этот метод применяется только к ответам формы, созданным сценарием, но еще не отправленным; это не может повлиять на сохраненные ответы. Если этот метод вызывается несколько раз для одного и того же элемента, сохраняется только ответ последнего элемента.
Параметры
Имя | Тип | Описание |
---|---|---|
response | ItemResponse |
Возвращаться
FormResponse
— это FormResponse
, для цепочки
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms