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. Gli utilizzi più comuni di questa API includono le seguenti attività:
- 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 del modulo
- Configurare e ricevere notifiche push
- Di seguito è riportato un elenco dei termini più comuni utilizzati nell'API Forms:
- Form
Un documento di Moduli Google, creato e archiviato in Drive. Ogni modulo è rappresentato da una risorsa
Form
e ha un valoreformId
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 Moduli Google che consente di valutare le risposte al modulo in base a una chiave di risposta. Un quiz può essere creato solo utilizzando il metodo
batchUpdate()
per aggiornare l'impostazioneisQuiz
di un modulo esistente atrue
.- Elemento
Un singolo elemento di un modulo, rappresentato dalla risorsa Item.
Item
è un elemento ripetuto che può contenere una sezione, un gruppo di domande, una domanda, testo, immagine o video.- Domanda
Una singola domanda nel modulo, rappresentata dalla risorsa
Question
.- Gruppo di domande
Un gruppo di domande che condividono lo stesso insieme di risposte possibili (ad esempio, una griglia di valutazioni da 1 a 5). Rappresentato dalla risorsa
QuestionGroupItem
.- Sezione
Una sezione è un modo per dividere 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 risorsa
PageBreakItem
.- Risposta
La risposta dell'utente finale a una domanda, rappresentata dalla risorsa
Answer
. Include sia le informazioni sul voto (se presenti), i metadati e il contenuto della risposta.- Risposta
L'invio di un modulo da parte dell'utente finale, rappresentato dalla risorsa
FormResponse
.- Guarda
Un trigger che tiene traccia delle modifiche allo schema del modulo (ad esempio modifiche alle domande) o degli invii di risposte al modulo e invia una notifica push quando si verifica una modifica. Rappresentato dalla risorsa
Watch
.
Struttura del modulo
Quando gestisci moduli e quiz, capire come specificare campi diversi
può essere complicato, dato che molti degli oggetti del modulo possono essere nidificati
l'uno dentro l'altro in diversi modi. Per vedere come la rappresentazione visiva di un modulo
corrisponde ai campi, ti consigliamo di utilizzare la UI per creare alcuni esempi di
moduli che la tua applicazione potrebbe generare. Quindi recupera il JSON corrispondente
utilizzando il metodo
forms.get()
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": "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
}
}
Passaggi successivi
- Per informazioni sullo sviluppo con le API Google Workspace, inclusa la gestione dell'autenticazione e dell'autorizzazione, consulta Inizia a sviluppare per Workspace.
- Per scoprire come configurare ed eseguire un'app API Forms di base, leggi la panoramica delle guide rapide.