Una respuesta al formulario completo. Un FormResponse
se puede usar de tres maneras: para acceder a las respuestas enviadas por un encuestado (consulta getItemResponses()
), para enviar una respuesta al formulario de manera programática (consulta withItemResponse(response)
y submit()
) y para generar una URL del formulario que completa previamente los campos con las respuestas proporcionadas. Las FormResponse
se pueden crear o se puede acceder a ellas desde un 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()); } }
Métodos
Método | Tipo de datos que se muestra | Descripción breve |
---|---|---|
getEditResponseUrl() | String | Genera una URL que se puede usar para editar una respuesta que ya se envió. |
getGradableItemResponses() | ItemResponse[] | Obtiene todas las respuestas de elementos contenidas en una respuesta de formulario, en el mismo orden en que los elementos aparecen en el formulario. |
getGradableResponseForItem(item) | ItemResponse | Obtiene la respuesta del elemento contenido en una respuesta del formulario para un elemento determinado. |
getId() | String | Obtiene el ID de la respuesta del formulario. |
getItemResponses() | ItemResponse[] | Obtiene todas las respuestas de elementos contenidas en una respuesta de formulario, en el mismo orden en que los elementos aparecen en el formulario. |
getRespondentEmail() | String | Obtiene la dirección de correo electrónico de la persona que envió una respuesta, si la configuración de Form.setCollectEmail(collect) está habilitada. |
getResponseForItem(item) | ItemResponse | Obtiene la respuesta del elemento contenido en esta respuesta del formulario para un elemento determinado. |
getTimestamp() | Date | Obtiene la marca de tiempo de un envío de respuesta del formulario. |
submit() | FormResponse | Envía la respuesta. |
toPrefilledUrl() | String | Genera una URL para el formulario en el que las respuestas se completan previamente según las respuestas de este formulario. |
withItemGrade(gradedResponse) | FormResponse | Agrega las calificaciones de respuesta de un elemento determinado a la respuesta de un formulario. |
withItemResponse(response) | FormResponse | Agrega la respuesta de un elemento determinado a una respuesta del formulario. |
Documentación detallada
getEditResponseUrl()
Genera una URL que se puede usar para editar una respuesta que ya se envió. Si se inhabilita la configuración Form.setAllowResponseEdits(enabled)
, el vínculo dirige a una página que explica que se inhabilitaron las respuestas del formulario de edición. Cualquier persona que visite el vínculo puede editar la respuesta, aunque necesite una cuenta con acceso al formulario si la configuración de Form.setRequireLogin(requireLogin)
está habilitada. Si la configuración de Form.setCollectEmail(collect)
está habilitada, el formulario registra la dirección de correo electrónico del usuario que editó la respuesta en lugar de la dirección de correo electrónico del encuestado original.
Para una respuesta de formulario que la secuencia de comandos creó, pero que aún no se envió, este método muestra null
.
Volver
String
: Es la URL para cambiar una respuesta enviada.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getGradableItemResponses()
Obtiene todas las respuestas de elementos contenidas en una respuesta de formulario, en el mismo orden en que los elementos aparecen en el formulario. Este método funciona de manera similar a getItemResponses()
, pero para permitir que se califique una respuesta faltante, muestra un ItemResponse
si el Item
correspondiente se puede calificar (es decir, tiene una puntuación), incluso si no hay una respuesta real. Sin embargo, si Item
no se puede calificar, este método excluye ese elemento de su arreglo mostrado.
Volver
ItemResponse[]
: Es un arreglo de respuestas a cada elemento de pregunta dentro del formulario para el que el encuestado podría recibir una puntuación.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getGradableResponseForItem(item)
Obtiene la respuesta del elemento contenido en una respuesta del formulario para un elemento determinado. Este método funciona de manera similar a getResponseForItem(item)
, pero para permitir que se califique una respuesta faltante, muestra un ItemResponse
si se puede calificar la Item
correspondiente (es decir, tiene una puntuación), incluso si no hay una respuesta real. Sin embargo, si Item
no se puede calificar, este método muestra null
.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
item | Item |
Volver
ItemResponse
: Es la respuesta para un elemento determinado o null
si no existe y el elemento no tiene calificación.
getId()
Obtiene el ID de la respuesta del formulario. Este método muestra null
si no se envió la respuesta del formulario.
Volver
String
: El ID de la respuesta del formulario, o null
si la respuesta del formulario no se envió
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getItemResponses()
Obtiene todas las respuestas de elementos contenidas en una respuesta de formulario, en el mismo orden en que los elementos aparecen en el formulario. Si la respuesta del formulario no contiene una respuesta para un TextItem
, DateItem
, TimeItem
o ParagraphTextItem
determinado, el ItemResponse
que se muestra para ese elemento tendrá una string vacía como respuesta. Si la respuesta del formulario omite una respuesta para cualquier otro tipo de elemento, este método excluye ese elemento de su arreglo mostrado.
Volver
ItemResponse[]
: Es un arreglo de respuestas a cada elemento de pregunta dentro del formulario para el que el encuestado dio una respuesta.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getRespondentEmail()
Obtiene la dirección de correo electrónico de la persona que envió una respuesta, si la configuración de Form.setCollectEmail(collect)
está habilitada.
Para una respuesta de formulario que la secuencia de comandos creó, pero que aún no se envió, este método muestra null
.
Volver
String
: la dirección de correo electrónico de la persona que envió esta respuesta, si está disponible, o null
si la secuencia de comandos creó esta respuesta, pero aún no la envió
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getResponseForItem(item)
Obtiene la respuesta del elemento contenido en esta respuesta del formulario para un elemento determinado.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
item | Item |
Volver
ItemResponse
: Es la respuesta para un elemento determinado o null
si no existe.
getTimestamp()
Obtiene la marca de tiempo de un envío de respuesta del formulario.
Para una respuesta de formulario que la secuencia de comandos creó, pero que aún no se envió, este método muestra null
.
Volver
Date
: la marca de tiempo en la que se envió esta respuesta o null
si la secuencia de comandos creó esta respuesta, pero aún no la envió
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
submit()
Envía la respuesta. Muestra una excepción de secuencias de comandos si la respuesta ya se envió.
Volver
FormResponse
: una respuesta recién creada que se guarda en el almacén de respuestas del formulario
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
toPrefilledUrl()
Genera una URL para el formulario en el que las respuestas se completan previamente según las respuestas de este formulario.
Volver
String
: La URL de un formulario con respuestas completadas previamente
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
withItemGrade(gradedResponse)
Agrega las calificaciones de respuesta de un elemento determinado a la respuesta de un formulario. Este método solo se aplica a las respuestas de formularios que ya se enviaron y solo afecta a las calificaciones almacenadas una vez que se envían. Este método también actualiza las calificaciones de la respuesta del elemento; no afecta la respuesta real (ya que la respuesta ya se envió). Si se llama varias veces al mismo método para el mismo elemento, solo se conservará la última calificación. Si ItemResponse no contiene calificaciones, este método quitará las calificaciones del elemento.
// 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);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
gradedResponse | ItemResponse |
Volver
FormResponse
: este FormResponse
, para encadenar
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
withItemResponse(response)
Agrega la respuesta de un elemento determinado a una respuesta del formulario. Este método se aplica solo para formar respuestas que la secuencia de comandos creó, pero que aún no se envió. No puede afectar las respuestas almacenadas. Si se llama varias veces al mismo método para el mismo elemento, solo se conservará la respuesta del último elemento.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
response | ItemResponse |
Volver
FormResponse
: este FormResponse
, para encadenar
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms