REST Resource: forms

Ressource: Formulaire

Un document Google Forms Un formulaire est créé dans Drive. Pour le supprimer ou modifier ses protections d'accès, utilisez l'API Drive.

Représentation JSON
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
Champs
formId

string

Uniquement en sortie. ID du formulaire.

info

object (Info)

Obligatoire. Titre et description du formulaire

settings

object (FormSettings)

Paramètres du formulaire. Il doit être mis à jour avec UpdateSettingsRequest. Il est ignoré pendant forms.create et UpdateFormInfoRequest.

items[]

object (Item)

Obligatoire. Liste des éléments du formulaire, qui peuvent inclure des titres de section, des questions, des contenus multimédias intégrés, etc.

revisionId

string

Uniquement en sortie. ID de révision du formulaire. Utilisé dans WriteControl dans les requêtes de mise à jour pour identifier la révision sur laquelle les modifications sont basées.

Le format de l'ID de révision peut changer au fil du temps. Il doit donc être traité de manière opaque. Un ID de révision renvoyé n'est valide que pendant 24 heures après son renvoi et ne peut pas être partagé entre les utilisateurs. Si l'ID de révision reste inchangé entre les appels, cela signifie que le formulaire n'a pas changé. À l'inverse, un ID modifié (pour le même formulaire et l'utilisateur) signifie généralement que le formulaire a été mis à jour. Toutefois, un ID modifié peut également être dû à des facteurs internes, tels que des modifications de format.

responderUri

string

Uniquement en sortie. URI du formulaire à partager avec les personnes interrogées. Une page s'ouvre alors, permettant à l'utilisateur de soumettre des réponses, mais pas de modifier les questions.

linkedSheetId

string

Uniquement en sortie. ID de la feuille de calcul Google associée qui accumule les réponses de ce formulaire (si une telle feuille existe).

Infos

Informations générales sur un formulaire.

Représentation JSON
{
  "title": string,
  "documentTitle": string,
  "description": string
}
Champs
title

string

Obligatoire. Titre du formulaire visible par les personnes interrogées.

documentTitle

string

Uniquement en sortie. Titre du document visible dans Drive. Si Info.title est vide, documentTitle peut apparaître à sa place dans l'interface utilisateur de Google Forms et être visible par les personnes interrogées. documentTitle peut être défini lors de la création, mais ne peut pas être modifié par une requête batchUpdate. Veuillez utiliser l'API Google Drive si vous devez mettre à jour documentTitle par programmation.

description

string

Description du formulaire.

FormSettings

Paramètres d'un formulaire.

Représentation JSON
{
  "quizSettings": {
    object (QuizSettings)
  },
  "emailCollectionType": enum (EmailCollectionType)
}
Champs
quizSettings

object (QuizSettings)

Paramètres liés aux formulaires de quiz et à la notation.

emailCollectionType

enum (EmailCollectionType)

Facultatif. Paramètre qui détermine si le formulaire collecte les adresses e-mail des personnes interrogées.

QuizSettings

Paramètres liés aux formulaires de quiz et à la notation. Vous devez les mettre à jour avec la requête UpdateSettingsRequest.

Représentation JSON
{
  "isQuiz": boolean
}
Champs
isQuiz

boolean

Indique si ce formulaire est un questionnaire ou non. Lorsque cette valeur est définie sur "true", les réponses sont notées en fonction de la question Grading. Lorsque cette valeur est définie sur "false", toutes les Grading de question sont supprimées.

EmailCollectionType

Facultatif. Paramètre qui détermine si le formulaire collecte les adresses e-mail des personnes interrogées et comment elles sont collectées. Si le formulaire collecte des adresses e-mail, les valeurs sont renseignées dans le champ formResponse.respondentEmail.

Enums
EMAIL_COLLECTION_TYPE_UNSPECIFIED Non spécifié. Cette valeur n'est pas utilisée.
DO_NOT_COLLECT Le formulaire ne collecte pas les adresses e-mail. Valeur par défaut si le propriétaire du formulaire utilise un compte Google.
VERIFIED Le formulaire collecte automatiquement les adresses e-mail en fonction du compte de l'utilisateur connecté. Valeur par défaut si le propriétaire du formulaire utilise un compte Google Workspace.
RESPONDER_INPUT Le formulaire collecte les adresses e-mail à l'aide d'un champ que le participant doit remplir.

Élément

Un seul élément du formulaire. kind définit le type d'élément.

Représentation JSON
{
  "itemId": string,
  "title": string,
  "description": string,

  // Union field kind can be only one of the following:
  "questionItem": {
    object (QuestionItem)
  },
  "questionGroupItem": {
    object (QuestionGroupItem)
  },
  "pageBreakItem": {
    object (PageBreakItem)
  },
  "textItem": {
    object (TextItem)
  },
  "imageItem": {
    object (ImageItem)
  },
  "videoItem": {
    object (VideoItem)
  }
  // End of list of possible types for union field kind.
}
Champs
itemId

string

ID de l'article.

Lors de la création, vous pouvez fournir cet identifiant, mais il ne doit pas déjà être utilisé dans le formulaire. S'il n'est pas fourni, un nouvel ID est attribué.

title

string

Titre de l'article.

description

string

Description de l'article.

Champ d'union kind. Obligatoire. Type d'élément. kind ne peut être qu'un des éléments suivants:
questionItem

object (QuestionItem)

Pose une question à l'utilisateur.

questionGroupItem

object (QuestionGroupItem)

Pose une ou plusieurs questions à l'utilisateur avec une seule invite principale.

pageBreakItem

object (PageBreakItem)

Démarre une nouvelle page avec un titre.

textItem

object (TextItem)

Affiche un titre et une description sur la page.

imageItem

object (ImageItem)

Affiche une image sur la page.

videoItem

object (VideoItem)

Affiche une vidéo sur la page.

QuestionItem

Élément de formulaire contenant une seule question.

Représentation JSON
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
Champs
question

object (Question)

Obligatoire. Question affichée.

image

object (Image)

Image affichée dans la question.

Question

Des questions ? Le type de question spécifique est identifié par son kind.

Représentation JSON
{
  "questionId": string,
  "required": boolean,
  "grading": {
    object (Grading)
  },

  // Union field kind can be only one of the following:
  "choiceQuestion": {
    object (ChoiceQuestion)
  },
  "textQuestion": {
    object (TextQuestion)
  },
  "scaleQuestion": {
    object (ScaleQuestion)
  },
  "dateQuestion": {
    object (DateQuestion)
  },
  "timeQuestion": {
    object (TimeQuestion)
  },
  "fileUploadQuestion": {
    object (FileUploadQuestion)
  },
  "rowQuestion": {
    object (RowQuestion)
  },
  "ratingQuestion": {
    object (RatingQuestion)
  }
  // End of list of possible types for union field kind.
}
Champs
questionId

string

Lecture seule. ID de la question.

Lors de la création, vous pouvez fournir cet identifiant, mais il ne doit pas déjà être utilisé dans le formulaire. S'il n'est pas fourni, un nouvel ID est attribué.

required

boolean

Indique si la personne interrogée doit répondre à la question pour pouvoir envoyer sa réponse.

grading

object (Grading)

Configuration de la notation de la question.

Champ d'union kind. Obligatoire. Type de question proposée à un participant. kind ne peut être qu'un des éléments suivants :
choiceQuestion

object (ChoiceQuestion)

Le participant peut choisir parmi un ensemble d'options prédéfinies.

textQuestion

object (TextQuestion)

Le participant peut saisir une réponse textuelle libre.

scaleQuestion

object (ScaleQuestion)

Le répondant peut choisir un nombre dans une plage.

dateQuestion

object (DateQuestion)

Un répondant peut saisir une date.

timeQuestion

object (TimeQuestion)

Le participant peut saisir une heure.

fileUploadQuestion

object (FileUploadQuestion)

Un participant peut importer un ou plusieurs fichiers.

rowQuestion

object (RowQuestion)

Ligne d'un QuestionGroupItem.

ratingQuestion

object (RatingQuestion)

Le participant peut choisir une note parmi un ensemble d'icônes prédéfinies.

ChoiceQuestion

Question à cases d'option/à cocher/à liste déroulante

Représentation JSON
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
Champs
type

enum (ChoiceType)

Obligatoire. Type de question à choix.

options[]

object (Option)

Obligatoire. Liste d'options parmi lesquelles un répondant doit choisir.

shuffle

boolean

Indique si les options doivent être affichées dans un ordre aléatoire pour différentes instances du quiz. Cette méthode est souvent utilisée pour éviter la tricherie de la part des personnes interrogées qui pourraient regarder l'écran d'un autre participant, ou pour corriger les biais d'un questionnaire qui pourraient être introduits en plaçant toujours les mêmes options en premier ou en dernier.

ChoiceType

Type de choix.

Enums
CHOICE_TYPE_UNSPECIFIED Valeur par défaut. Non utilisé.
RADIO Cases d'option: toutes les options sont affichées à l'utilisateur, qui ne peut en sélectionner qu'une seule.
CHECKBOX Cases à cocher: toutes les options sont présentées à l'utilisateur, qui peut en sélectionner autant qu'il le souhaite.
DROP_DOWN Menu déroulant: les choix ne s'affichent que sur demande de l'utilisateur, sinon seul le choix actuel s'affiche. Vous ne pouvez choisir qu'une seule option.

Option

Option d'une question à choix.

Représentation JSON
{
  "value": string,
  "image": {
    object (Image)
  },
  "isOther": boolean,

  // Union field go_to_section can be only one of the following:
  "goToAction": enum (GoToAction),
  "goToSectionId": string
  // End of list of possible types for union field go_to_section.
}
Champs
value

string

Obligatoire. Choix présenté à l'utilisateur.

image

object (Image)

Afficher l'image en tant qu'option.

isOther

boolean

Indique si l'option est "autre". Actuellement, ne s'applique qu'aux types de choix RADIO et CHECKBOX, mais n'est pas autorisé dans un QuestionGroupItem.

Champ d'union go_to_section. Section à laquelle accéder si cette option est sélectionnée. Actuellement, ne s'applique qu'aux types de choix RADIO et SELECT, mais n'est pas autorisé dans un QuestionGroupItem. go_to_section ne peut être qu'un des éléments suivants:
goToAction

enum (GoToAction)

Type de navigation de la section.

goToSectionId

string

ID de l'élément de l'en-tête de section à laquelle accéder.

GoToAction

Constantes pour la navigation dans les sections.

Enums
GO_TO_ACTION_UNSPECIFIED Valeur par défaut. Non utilisé.
NEXT_SECTION Passez à la section suivante.
RESTART_FORM Revenez au début du formulaire.
SUBMIT_FORM Envoyez le formulaire immédiatement.

Image

Données représentant une image.

Représentation JSON
{
  "contentUri": string,
  "altText": string,
  "properties": {
    object (MediaProperties)
  },

  // Union field image_source can be only one of the following:
  "sourceUri": string
  // End of list of possible types for union field image_source.
}
Champs
contentUri

string

Uniquement en sortie. URI à partir duquel vous pouvez télécharger l'image. Il n'est valide que pendant une durée limitée.

altText

string

Description de l'image qui s'affiche lorsque vous pointez dessus et qui est lue par les lecteurs d'écran.

properties

object (MediaProperties)

Propriétés d'une image.

Champ d'union image_source. Type de source d'image. Un seul champ de source d'image doit être défini lors de la création d'images. image_source ne peut être qu'un des éléments suivants :
sourceUri

string

Uniquement en entrée. L'URI source est l'URI utilisé pour insérer l'image. L'URI source peut être vide lors de la récupération.

MediaProperties

Propriétés du contenu multimédia.

Représentation JSON
{
  "alignment": enum (Alignment),
  "width": integer
}
Champs
alignment

enum (Alignment)

Position du contenu multimédia.

width

integer

Largeur du contenu multimédia en pixels. Lorsque le contenu multimédia s'affiche, il est mis à l'échelle de la valeur la plus petite ou de la largeur du formulaire affiché. Le format d'origine du contenu multimédia est conservé. Si aucune largeur n'est spécifiée lorsque le contenu multimédia est ajouté au formulaire, elle est définie sur la largeur de la source multimédia. La largeur doit être comprise entre 0 et 740 (inclus). La valeur de largeur peut être définie sur 0 ou non spécifiée, mais uniquement lors de la mise à jour de la source multimédia.

Alignement

Alignement sur la page.

Enums
ALIGNMENT_UNSPECIFIED Valeur par défaut. Non utilisé.
LEFT Alignez-le à gauche.
RIGHT Alignez-le à droite.
CENTER et Security Command Center.

TextQuestion

Question textuelle

Représentation JSON
{
  "paragraph": boolean
}
Champs
paragraph

boolean

Indique si la question est un paragraphe ou non. Sinon, il s'agit d'une question de texte court.

ScaleQuestion

Question à échelle L'utilisateur a le choix entre une plage de valeurs numériques.

Représentation JSON
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
Champs
low

integer

Obligatoire. Valeur la plus faible possible de l'échelle.

high

integer

Obligatoire. Valeur la plus élevée possible de l'échelle.

lowLabel

string

Libellé à afficher pour décrire le point le plus bas de l'échelle.

highLabel

string

Étiquette à afficher pour décrire le point le plus élevé de l'échelle.

DateQuestion

Question sur une date Par défaut, les questions de date ne comportent que le mois et le jour.

Représentation JSON
{
  "includeTime": boolean,
  "includeYear": boolean
}
Champs
includeTime

boolean

Indique si l'heure doit être incluse dans la question.

includeYear

boolean

Indique si l'année doit être incluse dans la question.

TimeQuestion

Question temporelle.

Représentation JSON
{
  "duration": boolean
}
Champs
duration

boolean

true si la question porte sur un temps écoulé. Sinon, il s'agit d'une heure de la journée.

FileUploadQuestion

Question de type "Importer un fichier". L'API ne permet pas actuellement de créer de questions de type "Importer un fichier".

Représentation JSON
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
Champs
folderId

string

Obligatoire. ID du dossier Drive dans lequel les fichiers importés sont stockés.

types[]

enum (FileType)

Types de fichiers acceptés par cette question.

maxFiles

integer

Nombre maximal de fichiers pouvant être importés pour cette question dans une seule réponse.

maxFileSize

string (int64 format)

Nombre maximal d'octets autorisé pour un seul fichier importé dans cette question.

FileType

Types de fichiers pouvant être importés dans une question de type "Importer un fichier".

Enums
FILE_TYPE_UNSPECIFIED Valeur par défaut. Non utilisé.
ANY Aucune restriction de type.
DOCUMENT Un document Google Docs.
PRESENTATION Une présentation Google Slides
SPREADSHEET Une feuille de calcul Google Sheets
DRAWING Un dessin.
PDF Un PDF.
IMAGE Image.
VIDEO une vidéo ;
AUDIO Un fichier audio.

RowQuestion

Configuration d'une question faisant partie d'un groupe de questions.

Représentation JSON
{
  "title": string
}
Champs
title

string

Obligatoire. Titre de la seule ligne de l'QuestionGroupItem.

RatingQuestion

Question de notation. L'utilisateur a le choix entre plusieurs icônes.

Représentation JSON
{
  "ratingScaleLevel": integer,
  "iconType": enum (RatingIconType)
}
Champs
ratingScaleLevel

integer

Obligatoire. Niveau de l'échelle d'évaluation de la question d'évaluation.

iconType

enum (RatingIconType)

Obligatoire. Type d'icône à utiliser pour la note.

RatingIconType

Type d'icône à utiliser pour la note.

Enums
RATING_ICON_TYPE_UNSPECIFIED Valeur par défaut. Non utilisé.
STAR Icône en forme d'étoile.
HEART Icône en forme de cœur.
THUMB_UP Icône "Je n'aime pas".

Notation

Noter une seule question

Représentation JSON
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
Champs
pointValue

integer

Obligatoire. Nombre maximal de points qu'un participant peut obtenir automatiquement pour une bonne réponse. Cette valeur ne doit pas être négative.

correctAnswers

object (CorrectAnswers)

Obligatoire. Corrigé de la question. Les réponses sont automatiquement notées en fonction de ce champ.

whenRight

object (Feedback)

Commentaires affichés pour les bonnes réponses. Ce type de commentaires ne peut être défini que pour les questions à choix multiples pour lesquelles des réponses correctes sont fournies.

whenWrong

object (Feedback)

Commentaires affichés pour les réponses incorrectes. Ce type de commentaires ne peut être défini que pour les questions à choix multiples pour lesquelles des réponses correctes sont fournies.

generalFeedback

object (Feedback)

Commentaires affichés pour toutes les réponses. Cette option est généralement utilisée pour les questions à réponse courte lorsque le propriétaire du quiz souhaite rapidement indiquer aux participants s'ils ont répondu correctement à la question avant qu'il n'ait eu la possibilité de noter officiellement la réponse. Vous ne pouvez pas définir de commentaires généraux pour les questions à choix multiples notées automatiquement.

CorrectAnswers

Corrigé d'une question.

Représentation JSON
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
Champs
answers[]

object (CorrectAnswer)

Liste des bonnes réponses. Une réponse à un quiz peut être notée automatiquement en fonction de ces réponses. Pour les questions à valeur unique, une réponse est marquée comme correcte si elle correspond à l'une des valeurs de cette liste (en d'autres termes, plusieurs réponses correctes sont possibles). Pour les questions à valeurs multiples (CHECKBOX), une réponse est marquée comme correcte si elle contient exactement les valeurs de cette liste.

CorrectAnswer

Réponse unique et correcte à une question. Pour les questions à valeurs multiples (CHECKBOX), plusieurs CorrectAnswer peuvent être nécessaires pour représenter une seule option de réponse correcte.

Représentation JSON
{
  "value": string
}
Champs
value

string

Obligatoire. Valeur de la bonne réponse. Consultez la documentation sur TextAnswer.value pour en savoir plus sur le formatage des différents types de valeurs.

QuestionGroupItem

Définit une question qui comprend plusieurs questions regroupées.

Représentation JSON
{
  "questions": [
    {
      object (Question)
    }
  ],
  "image": {
    object (Image)
  },

  // Union field kind can be only one of the following:
  "grid": {
    object (Grid)
  }
  // End of list of possible types for union field kind.
}
Champs
questions[]

object (Question)

Obligatoire. Liste des questions appartenant à ce groupe. Une question ne doit appartenir qu'à un seul groupe. Le kind du groupe peut affecter les types de questions autorisés.

image

object (Image)

Image affichée dans le groupe de questions au-dessus des questions spécifiques.

Champ d'union kind. Obligatoire. Type de groupe de questions, qui détermine les types de questions autorisés et la façon dont ils s'affichent. kind ne peut être qu'un des éléments suivants :
grid

object (Grid)

Le groupe de questions est une grille composée de lignes de questions à choix multiples qui partagent les mêmes options. Lorsque grid est défini, toutes les questions du groupe doivent être de type row.

Grille

Grille de choix (cases à cocher ou cases d'option) avec chaque ligne correspondant à une question distincte. Chaque ligne comporte les mêmes choix, qui sont affichés sous forme de colonnes.

Représentation JSON
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
Champs
columns

object (ChoiceQuestion)

Obligatoire. Choix partagés par chaque question de la grille. En d'autres termes, les valeurs des colonnes. Seuls les choix CHECK_BOX et RADIO sont autorisés.

shuffleQuestions

boolean

Si la valeur est true, les questions sont affichées dans un ordre aléatoire. En d'autres termes, les lignes s'affichent dans un ordre différent pour chaque répondant.

PageBreakItem

Ce type ne comporte aucun champ.

Saut de page. Le titre et la description de cet élément s'affichent en haut de la nouvelle page.

TextItem

Ce type ne comporte aucun champ.

Un élément textuel.

ImageItem

Élément contenant une image.

Représentation JSON
{
  "image": {
    object (Image)
  }
}
Champs
image

object (Image)

Obligatoire. Image affichée dans l'élément.

VideoItem

Élément contenant une vidéo.

Représentation JSON
{
  "video": {
    object (Video)
  },
  "caption": string
}
Champs
video

object (Video)

Obligatoire. Vidéo affichée dans l'article.

caption

string

Texte affiché sous la vidéo.

Vidéo

Données représentant une vidéo

Représentation JSON
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
Champs
youtubeUri

string

Obligatoire. URI YouTube

properties

object (MediaProperties)

Propriétés d'une vidéo.

Méthodes

batchUpdate

Modifiez le formulaire à l'aide d'un lot de mises à jour.

create

Créez un formulaire en utilisant le titre indiqué dans le message du formulaire fourni dans la requête.

get

Obtenez un formulaire.