La API de Google Forms es una interfaz RESTful que te permite crear y modificar formularios y cuestionarios, recuperar respuestas de formularios y calificaciones de cuestionarios, configurar claves de respuestas de cuestionarios con comentarios automáticos y recibir notificaciones push. Los usos más comunes de esta API incluyen las siguientes tareas:
- Crea un formulario o cuestionario
- Publica y administra a las personas que responden
- Actualiza un formulario o cuestionario
- Cómo recuperar respuestas de un formulario o cuestionario
- Leer metadatos y contenido de formularios
- Configura y recibe notificaciones push
- A continuación, se incluye una lista de términos comunes que se usan en la API de Forms:
- Form
Documento de Formularios de Google, creado y almacenado en Drive. Cada formulario se representa con un recurso
Form
y tiene un valorformId
único que contiene letras, números, guiones o guiones bajos. Puedes encontrar el ID del formulario en una URL de Formularios de Google:https://docs.google.com/forms/d/FORM_ID/edit
- Cuestionario
Es un tipo específico de documento de Formularios de Google que permite calificar las respuestas del formulario en función de una clave de respuestas. Los cuestionarios solo se pueden crear con el método
batchUpdate()
para actualizar el parámetro de configuraciónisQuiz
de un formulario existente atrue
.- Calificación
- Un valor de puntos, una clave de respuesta y comentarios para una pregunta, que se aplican cuando
isQuiz
estrue
. Se representa con el recursoGrading
. - Comentarios
- Es una respuesta que se le da al usuario final cuando responde una pregunta en un cuestionario, representada por el recurso
Feedback
.
- Elemento
Es un solo elemento en un formulario, representado por el recurso Item.
Item
es un elemento repetitivo que puede contener una sección, un grupo de preguntas, una pregunta, texto, una imagen o un video.- Pregunta
Es una sola pregunta del formulario, representada por el recurso
Question
.- Grupo de preguntas
Es un grupo de preguntas que comparten el mismo conjunto de respuestas posibles (por ejemplo, una cuadrícula de calificaciones del 1 al 5). Se representa con el recurso
QuestionGroupItem
.- Sección
Una sección es una forma de dividir un formulario en varias páginas y agregar lógica condicional (por ejemplo, mostrar solo ciertas preguntas según cómo responda el usuario). Las secciones corresponden al recurso
PageBreakItem
.- Respuesta
Es la respuesta del usuario final a una pregunta, representada por el recurso
Answer
. Incluye la información de la calificación (si está presente), los metadatos y el contenido de la respuesta.- Respuesta
Envío de un formulario por parte del usuario final, representado por el recurso
FormResponse
- Reloj
Es un activador que hace un seguimiento de los cambios en el esquema del formulario (como las ediciones de preguntas) o los envíos de respuestas del formulario, y envía una notificación push cuando se produce un cambio. Se representa con el recurso
Watch
.
Estructura del formulario
Cuando administras formularios y cuestionarios, comprender cómo especificar diferentes campos puede ser complicado, ya que muchos de los objetos de formulario se pueden anidar entre sí de varias maneras. Para ver cómo la representación visual de un formulario se asigna a los campos, te recomendamos que uses la IU para crear algunos ejemplos de formularios que podría generar tu aplicación. Luego, recupera el JSON correspondiente con el método forms.get()
para poder compararlos. Por ejemplo, este cuestionario de ejemplo corresponde al siguiente JSON:
{
"formId": "FORM_ID",
"info": {
"title": "Famous Black Women",
"description": "Please complete this quiz based off of this week's readings for class.",
"documentTitle": "API Example Quiz"
},
"settings": {
"quizSettings": {
"isQuiz": true
}
},
"revisionId": "00000021",
"responderUri": "https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform",
"items": [
{
"itemId": "5d9f9786",
"imageItem": {
"image": {
"contentUri": "DIRECT_URL",
"properties": {
"alignment": "LEFT"
}
}
}
},
{
"itemId": "72b30353",
"title": "Which African American woman authored \"I Know Why the Caged Bird Sings\"?",
"questionItem": {
"question": {
"questionId": "25405d4e",
"required": true,
"grading": {
"pointValue": 2,
"correctAnswers": {
"answers": [
{
"value": "Maya Angelou"
}
]
}
},
"choiceQuestion": {
"type": "RADIO",
"options": [
{
"value": "Maya Angelou"
},
{
"value": "bell hooks"
},
{
"value": "Alice Walker"
},
{
"value": "Roxane Gay"
}
]
}
}
}
},
{
"itemId": "0a4859c8",
"title": "Who was the first Dominican-American woman elected to state office?",
"questionItem": {
"question": {
"questionId": "37fff47a",
"grading": {
"pointValue": 2,
"correctAnswers": {
"answers": [
{
"value": "Grace Diaz"
}
]
}
},
"choiceQuestion": {
"type": "RADIO",
"options": [
{
"value": "Rosa Clemente"
},
{
"value": "Grace Diaz"
},
{
"value": "Juana Matias"
},
{
"value": "Sabrina Matos"
}
]
}
}
}
}
],
"publishSettings" : {
"isPublished": true,
"isAcceptingResponses": true
}
}
Próximos pasos
- Para obtener información sobre el desarrollo con las APIs de Google Workspace, incluido el manejo de la autenticación y la autorización, consulta Comienza a desarrollar con Workspace.
- Para aprender a configurar y ejecutar una app básica de la API de Forms, consulta la Descripción general de los inicios rápidos.