Panoramica

L'API Google Forms è un'interfaccia RESTful che consente di creare e modificare moduli e quiz, recuperare le risposte ai moduli e i voti dei quiz, configurare le chiavi di risposta ai quiz con feedback automatico e ricevere notifiche push. Di seguito sono riportati gli utilizzi più comuni di questa API:

  • Creare un modulo o un quiz
  • Pubblicare e gestire i rispondenti
  • Aggiornare un modulo o un quiz
  • Recuperare le risposte da un modulo o un quiz
  • Leggere i contenuti e i metadati 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 in Drive. Ogni modulo è rappresentato da una Form risorsa e ha un valore formId univoco, contenente lettere, numeri, trattini o trattini bassi. Puoi trovare l'ID del modulo in un URL di Moduli:

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. Un quiz può essere creato solo utilizzando il batchUpdate() metodo per aggiornare l'impostazione isQuiz di un modulo esistente su true.

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

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, testo, un'immagine o un video.

Question

Una singola domanda nel modulo, rappresentata dalla Question risorsa.

Question group

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

Section

Una sezione è un modo per suddividere un modulo in più pagine e aggiungere una logica condizionale (ad esempio, mostrare solo determinate domande in base alle risposte dell'utente). Le sezioni corrispondono alla PageBreakItem risorsa.

Answer

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

Response

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

Watch

Un trigger che tiene traccia delle modifiche allo schema del modulo (ad esempio le modifiche alle domande) o degli invii delle risposte a un modulo e invia una notifica push quando si verifica una modifica. Rappresentato dalla Watch risorsa.

Struttura del modulo

La gestione di moduli e quiz può essere complicata, in quanto molti degli oggetti del modulo possono essere nidificati in più 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. Poi recupera il JSON corrispondente utilizzando il forms.get() metodo per poterlo confrontare. 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": "Famous Black Women"
  },
  "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
  }
}

Passaggi successivi