Panoramica

L'API Google Forms è un'interfaccia RESTful che consente di creare e modificare moduli e quiz, recuperare risposte ai moduli e voti dei quiz, configurare chiavi di risposta ai quiz con feedback automatico e ricevere notifiche push. Gli utilizzi più comuni di questa API includono le seguenti attività:

  • Creare un modulo o un quiz
  • Aggiornare un modulo o un quiz
  • Recupera le risposte da un modulo o da un quiz
  • Lettura di metadati e contenuti dei moduli
  • Configurare e ricevere notifiche push

Di seguito è riportato un elenco dei termini comuni utilizzati nell'API Forms:

Form

Un documento di Moduli Google, creato e archiviato su Drive. Ogni modulo è rappresentato da una risorsa Form e ha un valore formId univoco contenente lettere, numeri, trattini o trattini bassi. Puoi trovare l'ID modulo in un URL di Moduli Google:

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

Quiz

Un tipo specifico di documento di Moduli Google che consente di valutare le risposte del modulo in base a una chiave di risposta. È possibile creare un quiz solo utilizzando il metodo batchUpdate() per aggiornare l'impostazione isQuiz di un modulo esistente a true.

Valutazione
Un valore in punti, una chiave di risposta e un feedback per una domanda, applicati quando isQuiz è true. Rappresentato dalla risorsa Grading.
Feedback
Una risposta data all'utente finale quando risponde a una domanda di un quiz, rappresentata dalla risorsa Feedback.
Elemento

Un singolo elemento in un modulo, rappresentato dalla risorsa Item. Item è un elemento ripetuto che può contenere una sezione, un gruppo di domande, una domanda, un testo, un'immagine o un video.

Question

Una singola domanda nel modulo, rappresentata dalla risorsa Question.

Gruppo di domande

Un gruppo di domande che condividono tutte lo stesso insieme di possibili risposte (ad esempio, una griglia di valutazioni da 1 a 5). Rappresentato dalla risorsa QuestionGroupItem.

Sezione

Una sezione è un modo per suddividere un modulo in più pagine e aggiungere una logica condizionale (ad esempio, mostrando solo determinate domande in base a come l'utente risponde). Le sezioni corrispondono alla risorsa PageBreakItem.

Risposta

La risposta dell'utente finale a una domanda, rappresentata dalla risorsa Answer. Includono informazioni sul voto (se presenti), metadati e il contenuto della risposta.

Risposta

L'invio da parte dell'utente finale di un modulo, rappresentato dalla risorsa FormResponse.

Guarda

Un attivatore che monitora le modifiche apportate allo schema di un modulo (ad esempio modifiche alle domande) o agli invii di risposte del modulo e invia una notifica push quando si verifica una modifica. Rappresentato dalla risorsa Watch.

Struttura del modulo

Durante la gestione di moduli e quiz, comprendere come specificare diversi campi può essere complicato, dato che molti oggetti del modulo possono essere nidificati l'uno all'interno dell'altro in diversi modi. Per vedere come la rappresentazione visiva di un modulo viene mappata ai campi, ti consigliamo di utilizzare l'interfaccia utente per creare alcuni esempi di moduli che la tua applicazione potrebbe generare. Quindi recupera il JSON corrispondente utilizzando il metodo forms.get() per eseguire il confronto. Ad esempio, questo quiz di esempio corrisponde al seguente 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"
              }
            ]
          }
        }
      }
    }
  ]
}

Passaggi successivi