Réponse au formulaire dans son ensemble. Un Form
peut être utilisé de trois manières: pour accéder aux réponses envoyées par un participant (voir get
), pour envoyer de manière programmatique une réponse au formulaire (voir with
et submit()
) et pour générer une URL pour le formulaire qui préremplit les champs à l'aide des réponses fournies. Les Form
peuvent être créés ou accessibles à partir d'un Form
.
// Open a form by ID and log the responses to each question. const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const formResponses = form.getResponses(); for (let i = 0; i < formResponses.length; i++) { const formResponse = formResponses[i]; const itemResponses = formResponse.getItemResponses(); for (let j = 0; j < itemResponses.length; j++) { const itemResponse = itemResponses[j]; Logger.log( 'Response #%s to the question "%s" was "%s"', (i + 1).toString(), itemResponse.getItem().getTitle(), itemResponse.getResponse(), ); } }
Méthodes
Méthode | Type renvoyé | Brève description |
---|---|---|
get | String | Génère une URL permettant de modifier une réponse déjà envoyée. |
get | Item | Récupère toutes les réponses des éléments contenues dans une réponse de formulaire, dans l'ordre dans lequel les éléments apparaissent dans le formulaire. |
get | Item | Récupère la réponse de l'élément contenue dans une réponse de formulaire pour un élément donné. |
get | String | Récupère l'ID de la réponse au formulaire. |
get | Item | Récupère toutes les réponses des éléments contenues dans une réponse de formulaire, dans l'ordre dans lequel les éléments apparaissent dans le formulaire. |
get | String | Récupère l'adresse e-mail de la personne qui a envoyé une réponse, si le paramètre Form.setCollectEmail(collect) est activé. |
get | Item | Récupère la réponse de l'élément contenue dans cette réponse de formulaire pour un élément donné. |
get | Date | Récupère le code temporel d'envoi d'une réponse à un formulaire. |
submit() | Form | Envoie la réponse. |
to | String | Génère une URL pour le formulaire dans lequel les réponses sont préremplies en fonction des réponses de cette réponse au formulaire. |
with | Form | Ajoute les notes de la réponse à l'élément donné à une réponse de formulaire. |
with | Form | Ajoute la réponse de l'élément donné à une réponse de formulaire. |
Documentation détaillée
get Edit Response Url()
Génère une URL permettant de modifier une réponse déjà envoyée. Si le paramètre Form.setAllowResponseEdits(enabled)
est désactivé, le lien redirige vers une page expliquant que la modification des réponses aux formulaires est désactivée. Toute personne qui accède au lien peut modifier la réponse, mais elle doit disposer d'un compte ayant accès au formulaire si le paramètre
est activé. Si le paramètre Form.setRequireLogin(requireLogin)Form.setCollectEmail(collect)
est activé, le formulaire enregistre l'adresse e-mail de l'utilisateur qui a modifié la réponse au lieu de celle du répondant d'origine.
Pour une réponse de formulaire créée par le script, mais pas encore envoyée, cette méthode renvoie null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the first form response. const formResponse = form.getResponses()[0]; // Gets the edit URL for the first form response and logs it to the console. const editUrl = formResponse.getEditResponseUrl(); console.log(editUrl);
Renvois
String
: URL permettant de modifier une réponse envoyée.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
get Gradable Item Responses()
Récupère toutes les réponses des éléments contenues dans une réponse de formulaire, dans l'ordre dans lequel les éléments apparaissent dans le formulaire. Cette méthode fonctionne de manière similaire à get
, mais pour permettre la notation d'une réponse manquante, elle renvoie toujours un Item
si le Item
correspondant peut être noté (c'est-à-dire qu'il a une valeur en points), même s'il n'y a pas de réponse réelle. Toutefois, si l'Item
n'est pas éligible à l'évaluation, cette méthode exclut cet élément du tableau renvoyé.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Gets the item responses contained in each form response. for (const formResponse of formResponses) { const gradableItemsResponses = formResponse.getGradableItemResponses(); // Logs the title and score for each item response to the console. for (const gradableItemsResponse of gradableItemsResponses) { console.log(`${gradableItemsResponse.getItem().getTitle()} score ${gradableItemsResponse.getScore()}`); } }
Renvois
Item
: tableau des réponses à chaque élément de question du formulaire pour lequel le répondant peut recevoir un score.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
get Gradable Response For Item(item)
Récupère la réponse de l'élément contenue dans une réponse de formulaire pour un élément donné. Cette méthode fonctionne de manière similaire à get
, mais pour permettre de noter une réponse manquante, elle renvoie toujours un Item
si le Item
correspondant peut être noté (c'est-à-dire s'il a une valeur de points), même s'il n'y a pas de réponse réelle. Toutefois, si l'Item
n'est pas éligible à l'évaluation, cette méthode renvoie null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Gets the item responses contained in a form response. for (const formResponse of formResponses) { const formItemResponses = formResponse.getGradableItemResponses(); // Logs the title and score for responses to the first item of the form. const itemResponse = formResponse.getGradableResponseForItem( formItemResponses[0].getItem(), ); console.log( `${itemResponse.getItem().getTitle()} score ${itemResponse.getScore()}`, ); }
Paramètres
Nom | Type | Description |
---|---|---|
item | Item |
Renvois
Item
: réponse pour un élément donné, ou null
si aucune réponse n'existe et que l'élément n'est pas noté.
get Id()
Récupère l'ID de la réponse au formulaire. Cette méthode renvoie null
si la réponse au formulaire n'a pas été envoyée.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the form responses and logs the ID for each form response to // the console. for (const formResponse of formResponses) { console.log(`Response ID: ${formResponse.getId()}`); }
Renvois
String
: ID de la réponse au formulaire, ou null
si la réponse au formulaire n'a pas été envoyée.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
get Item Responses()
Récupère toutes les réponses des éléments contenues dans une réponse de formulaire, dans l'ordre dans lequel les éléments apparaissent dans le formulaire. Si la réponse du formulaire ne contient pas de réponse pour un Text
, Date
, Time
ou Paragraph
donné, la réponse du Item
renvoyé pour cet élément sera une chaîne vide. Si la réponse du formulaire omet une réponse pour un autre type d'élément, cette méthode exclut cet élément du tableau renvoyé.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the responses to the form. const formResponses = form.getResponses(); // Iterates over the responses. for (const formResponse of formResponses) { // Gets the item responses from each form response. const itemResponses = formResponse.getItemResponses(); // Iterates over the item responses. for (const itemResponse of itemResponses) { // Logs the items' questions and responses to the console. console.log( `Response to the question '${itemResponse.getItem().getTitle()}' was '${itemResponse.getResponse()}'`); } }
Renvois
Item
: tableau des réponses à chaque élément de question du formulaire pour lequel le répondant a fourni une réponse.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
get Respondent Email()
Récupère l'adresse e-mail de la personne qui a envoyé une réponse, si le paramètre Form.setCollectEmail(collect)
est activé.
Pour une réponse de formulaire créée par le script, mais pas encore envoyée, cette méthode renvoie null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the responses and logs each respondent's email to the console. // To collect respondent emails, ensure that Form.setCollectEmail(collect) is // set to true. for (const formResponse of formResponses) { console.log(`Respondent Email: ${formResponse.getRespondentEmail()}`); }
Renvois
String
: adresse e-mail de la personne qui a envoyé cette réponse, le cas échéant, ou null
si le script a créé cette réponse, mais ne l'a pas encore envoyée.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
get Response For Item(item)
Récupère la réponse de l'élément contenue dans cette réponse de formulaire pour un élément donné.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the first item on the form. const item = form.getItems()[0]; // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the responses and logs each response to the first item to the // console. for (const formResponse of formResponses) { const itemResponse = formResponse.getResponseForItem(item); console.log(itemResponse.getResponse()); }
Paramètres
Nom | Type | Description |
---|---|---|
item | Item |
Renvois
Item
: réponse pour un élément donné, ou null
si aucun n'existe.
get Timestamp()
Récupère le code temporel d'envoi d'une réponse à un formulaire.
Pour une réponse de formulaire créée par le script, mais pas encore envoyée, cette méthode renvoie null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the responses and logs the timestamp of each response to the // console. for (const formResponse of formResponses) { console.log(`Timestamp: ${formResponse.getTimestamp()}`); }
Renvois
Date
: code temporel au moment de l'envoi de cette réponse, ou null
si le script a créé cette réponse, mais ne l'a pas encore envoyée.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
submit()
Envoie la réponse. Génère une exception de script si la réponse a déjà été envoyée.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Creates an empty response for the form. const formResponse = form.createResponse(); // Submits an empty response. formResponse.submit();
Renvois
Form
: réponse créée et enregistrée dans le magasin de réponses du formulaire.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
to Prefilled Url()
Génère une URL pour le formulaire dans lequel les réponses sont préremplies en fonction des réponses de cette réponse au formulaire.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the first form response. const formResponse = form.getResponses()[0]; // Generates and logs the URL of a pre-filled form response based on the answers // of the first form response. const prefilledUrl = formResponse.toPrefilledUrl(); console.log(prefilledUrl);
Renvois
String
: URL d'un formulaire avec des réponses préremplies.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
with Item Grade(gradedResponse)
Ajoute les notes de la réponse à l'élément donné à une réponse de formulaire. Cette méthode ne s'applique qu'aux réponses aux formulaires déjà envoyées et n'affecte les notes stockées qu'une fois qu'elles ont été envoyées. Cette méthode ne met à jour que les notes de la réponse à l'élément. Elle n'a aucun impact sur la réponse elle-même (puisque la réponse a déjà été envoyée). Si cette méthode est appelée plusieurs fois pour le même élément, seule la dernière note est conservée. Si ItemResponse ne contient aucune note, cette méthode supprimera les notes de l'élément.
// Programmatically award partial credit for a given response const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const formResponses = form.getResponses(); const formItems = form.getItems(); for (const formResponse of formResponses) { for (const item of formItems) { const points = item.asMultipleChoiceItem().getPoints(); const itemResponse = formResponse.getGradableResponseForItem(item); Logger.log('Award half credit for answers containing the word "Kennedy"'); const answer = itemResponse.getResponse(); if (answer?.includes('Kennedy')) { itemResponse.setScore(points / 2); formResponse.withItemGrade(itemResponse); } } } form.submitGrades(formResponses);
Paramètres
Nom | Type | Description |
---|---|---|
graded | Item |
Renvois
Form
: Form
, pour le chaînage
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
with Item Response(response)
Ajoute la réponse de l'élément donné à une réponse de formulaire. Cette méthode ne s'applique qu'aux réponses de formulaire que le script a créées, mais qu'il n'a pas encore envoyées. Elle ne peut pas affecter les réponses stockées. Si cette méthode est appelée plusieurs fois pour le même élément, seule la dernière réponse de l'élément est conservée.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Creates a response for the form. const formResponse = form.createResponse(); // Appends a checkbox item to the form. const item = form.addCheckboxItem(); // Sets the title of the item to 'Which items are ice cream flavors?' item.setTitle('Which items are ice cream flavors?'); // Sets choices for the item. item.setChoices([ item.createChoice('Vanilla'), item.createChoice('Strawberry'), item.createChoice('Brick'), ]); // Creates a response for the item. const response = item.createResponse(['Vanilla', 'Strawberry']); // Adds the item response to the form response. formResponse.withItemResponse(response); // Submits the form response. formResponse.submit();
Paramètres
Nom | Type | Description |
---|---|---|
response | Item |
Renvois
Form
: Form
pour le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms