Descripción general

La API de Formularios de Google 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. Entre los usos más comunes de esta API, se incluyen las siguientes tareas:

  • Crea un formulario o cuestionario
  • Actualizar un formulario o cuestionario
  • Recuperar respuestas de un formulario o cuestionario
  • Lee metadatos y contenido de formularios
  • Cómo configurar y recibir notificaciones push

A continuación, se muestra una lista de términos comunes que se usan en la API de Formularios:

Form

Un documento de Formularios de Google, creado y almacenado en Drive. Cada formulario se representa con un recurso Form y tiene un valor formId ú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

Un tipo específico de documento de Formularios de Google que permite calificar el y el formato de respuestas con una clave de respuesta. Solo se puede crear un cuestionario con el método batchUpdate() para actualizar el parámetro de configuración isQuiz de un formulario existente a true.

Calificaciones
Un valor de punto, una clave de respuestas y comentarios para una pregunta, que se aplica cuando isQuiz es true. Se representa con el recurso Grading.
Comentarios
Es una respuesta que se le da al usuario final cuando responde una pregunta de un cuestionario, representada por el recurso Feedback.
Elemento

Un elemento único en un formulario, representado por el Item. Item es un elemento repetido que puede contener una sección, un grupo de preguntas, una pregunta, texto, una imagen o un video.

Pregunta

Una sola pregunta en el formulario, representada por el Recurso Question.

Grupo de preguntas

Es un grupo de preguntas que comparten el mismo conjunto de respuestas posibles (para 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 la manera en que respuestas de los usuarios). Las secciones corresponden PageBreakItem recurso.

Respuesta

La respuesta del usuario final a una pregunta, representada por el Answer recurso. Incluye la información de las calificaciones (si está presente), los metadatos y los el contenido de la respuesta.

Respuesta

El envío de un formulario por parte del usuario final, representado por el Recurso FormResponse.

Reloj

Es un activador que realiza un seguimiento de los cambios en los esquemas de formularios (como las modificaciones de las preguntas) o los envíos de respuestas de formularios y envía una notificación push cuando ocurre un cambio. Representado por el Recurso Watch.

Estructura del formulario

Cuando administras formularios y cuestionarios, puede ser complicado comprender cómo especificar diferentes campos, 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 mapas a los campos, recomendamos usar la IU para crear algunos ejemplos de formularios que tu aplicación puede generar. Luego, recupera el JSON correspondiente con el método forms.get() para poder comparar. 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"
              }
            ]
          }
        }
      }
    }
  ]
}

Próximos pasos