Aperçu

L'API Google Forms est une interface RESTful qui vous permet de créer et de modifier des formulaires et des questionnaires, de récupérer les réponses et les notes d'un questionnaire, de configurer des clés de réponse avec commentaires automatiques et de recevoir des notifications push. Les utilisations les plus courantes de cette API incluent les tâches suivantes:

  • Créer un formulaire ou un questionnaire
  • Mettre à jour un formulaire ou un questionnaire
  • Récupérer les réponses à un formulaire ou à un questionnaire
  • Lire le contenu et les métadonnées d'un formulaire
  • Configurer et recevoir des notifications push

Vous trouverez ci-dessous la liste des termes couramment utilisés dans l'API Forms:

Form

Document Google Forms créé et stocké dans Drive Chaque formulaire est représenté par une ressource Form et possède une valeur formId unique, composée de lettres, de chiffres, de traits d'union ou de traits de soulignement. Vous trouverez l'ID du formulaire dans une URL Google Forms:

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

Quiz

Type spécifique de document Google Forms qui permet de noter les réponses au formulaire en fonction d'un corrigé. Vous ne pouvez créer un questionnaire qu'en utilisant la méthode batchUpdate() pour définir le paramètre isQuiz d'un formulaire existant sur true.

Notation
Valeur de points, clé de réponse et commentaires pour une question, appliqués lorsque isQuiz est true. Représenté par la ressource Grading.
Commentaires
Réponse donnée à l'utilisateur final lorsqu'il répond à une question d'un quiz, représentée par la ressource Feedback.
Élément

Un seul élément dans un formulaire, représenté par la ressource Item. Item est un élément répétitif qui peut contenir une section, un groupe de questions, une question, du texte, une image ou une vidéo.

Question

Une seule question sur le formulaire, représentée par la ressource Question.

Groupe de questions

Groupe de questions qui partagent toutes le même ensemble d'options de réponse (par exemple, une grille d'évaluation de 1 à 5). Représenté par la ressource QuestionGroupItem.

Section

Une section permet de diviser un formulaire en plusieurs pages et d'ajouter une logique conditionnelle (par exemple, n'afficher que certaines questions en fonction des réponses de l'utilisateur). Les sections correspondent à la ressource PageBreakItem.

Réponse

Réponse de l'utilisateur final à une question, représentée par la ressource Answer. Inclut à la fois des informations sur la note (le cas échéant), des métadonnées et le contenu de la réponse.

Response (Réponse)

Envoi d'un formulaire par l'utilisateur final, représenté par la ressource FormResponse.

Montre

Déclencheur qui suit les modifications apportées au schéma de formulaire (telles que les modifications apportées aux questions) ou aux envois de réponses de formulaire, et envoie une notification push en cas de modification. Représenté par la ressource Watch.

Structure du formulaire

Lorsque vous gérez des formulaires et des quiz, il peut être compliqué de comprendre comment spécifier différents champs, car de nombreux objets de formulaire peuvent être imbriqués les uns dans les autres de plusieurs façons. Pour voir comment la représentation visuelle d'un formulaire est mappée sur les champs, nous vous recommandons d'utiliser l'UI pour créer quelques exemples de formulaires que votre application pourrait générer. Récupérez ensuite le code JSON correspondant à l'aide de la méthode forms.get() pour pouvoir effectuer la comparaison. Par exemple, cet exemple de quiz correspond au code JSON suivant:

{
  "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"
              }
            ]
          }
        }
      }
    }
  ]
}

Étapes suivantes