Visão geral

A API Google Forms é uma interface RESTful que permite criar e modificar formulários e testes, recuperar respostas de formulários e notas de testes, configurar chaves de respostas de testes com feedback automático e receber notificações push. Usos mais comuns dessa API incluem as seguintes tarefas:

  • Criar um formulário ou teste
  • Atualizar um formulário ou teste
  • Recuperar respostas de um formulário ou teste
  • Ler conteúdo e metadados do formulário
  • Configurar e receber notificações push

Confira abaixo uma lista de termos comuns usados na API Forms:

Formulário

Um documento do Formulários Google, criado e armazenado no Drive. Cada formulário é representado por um recurso Form; e tem um valor formId exclusivo, que contém letras, números, hifens ou sublinhados. Você pode encontrar o ID do formulário em um URL do app Formulários Google:

https://docs.google.com/forms/d/FORM_ID/edit

Teste

Um tipo específico de documento do Formulários Google que permite a avaliação da de formar respostas com uma chave de resposta. Um teste só pode ser criado usando batchUpdate() para atualizar a configuração isQuiz de um formulário existente para true.

Avaliação
Uma pontuação, uma chave de resposta e um feedback para uma pergunta, aplicados quando O valor da coluna isQuiz é true. Representado pelo Recurso Grading.
Feedback
Uma resposta dada ao usuário final ao responder a uma pergunta em um teste. representado por Feedback recurso.
Item

Um único elemento de um formulário, representado pelo Item. Item é um elemento repetido que pode conter uma seção, um grupo de perguntas, uma pergunta, como texto, imagem ou vídeo.

Pergunta

Uma única pergunta no formulário, representada pelo Question.

Grupo de perguntas

Um grupo de perguntas que compartilham o mesmo conjunto de respostas possíveis (por exemplo, uma grade de classificações de 1 a 5). Representado pelo QuestionGroupItem recurso.

Section

Uma seção é uma forma de dividir um formulário em várias páginas e adicionar lógica condicional (como mostrar apenas algumas perguntas com base em como o respostas do usuário). As seções correspondem à PageBreakItem recurso.

Resposta

A resposta do usuário final a uma pergunta, representada pelo Answer recurso. Inclui informações sobre a nota (se houver), metadados e os o conteúdo da resposta.

Resposta

O envio de um formulário pelo usuário final, representado por FormResponse.

Assista

Um acionador que rastreia mudanças nas mudanças do esquema de formulário (como edições a perguntas) ou envios de respostas a formulários e envia uma notificação push quando quando ocorre uma mudança. Representado pelo Watch.

Estrutura do formulário

Ao gerenciar formulários e testes, compreender como especificar diferentes campos pode ser complicado, já que muitos dos objetos do formulário podem ser aninhados dentro uns aos outros de várias maneiras. Para ver como a representação visual de um formulário mapas para os campos, recomendamos usar a interface para criar alguns exemplos de de formulário que seu aplicativo pode gerar. Depois, recupere o JSON correspondente usando o método forms.get(). para você comparar. Por exemplo: este exemplo de teste corresponde ao seguinte 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óximas etapas