Réponse au formulaire dans son ensemble. Un FormResponse
peut être utilisé de trois manières: pour accéder aux réponses soumises par une personne interrogée (voir getItemResponses()
), pour envoyer par programmation une réponse au formulaire (voir withItemResponse(response)
et submit()
) et pour générer une URL pour le formulaire qui préremplit les champs à l'aide des réponses fournies. Vous pouvez créer des FormResponse
ou y accéder à partir d'un Form
.
// Open a form by ID and log the responses to each question. var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); var formResponses = form.getResponses(); for (var i = 0; i < formResponses.length; i++) { var formResponse = formResponses[i]; var itemResponses = formResponse.getItemResponses(); for (var j = 0; j < itemResponses.length; j++) { var 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 |
---|---|---|
getEditResponseUrl() | String | Génère une URL permettant de modifier une réponse déjà envoyée. |
getGradableItemResponses() | ItemResponse[] | Récupère toutes les réponses aux éléments d'une réponse au formulaire, dans le même ordre que les éléments du formulaire. |
getGradableResponseForItem(item) | ItemResponse | Récupère la réponse de l'élément contenue dans une réponse de formulaire pour un élément donné. |
getId() | String | Récupère l'ID de la réponse au formulaire. |
getItemResponses() | ItemResponse[] | Récupère toutes les réponses aux éléments d'une réponse au formulaire, dans le même ordre que les éléments du formulaire. |
getRespondentEmail() | 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é. |
getResponseForItem(item) | ItemResponse | Récupère la réponse de l'élément contenue dans ce formulaire pour un élément donné. |
getTimestamp() | Date | Récupère l'horodatage d'envoi d'une réponse au formulaire. |
submit() | FormResponse | Envoie la réponse. |
toPrefilledUrl() | String | Génère une URL pour le formulaire dans lequel les réponses sont préremplies en fonction des réponses de ce formulaire. |
withItemGrade(gradedResponse) | FormResponse | Ajoute les notes de l'élément donné à une réponse du formulaire. |
withItemResponse(response) | FormResponse | Ajoute la réponse donnée à un élément à une réponse au formulaire. |
Documentation détaillée
getEditResponseUrl()
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 renvoie vers une page qui explique que la modification des réponses au formulaire est désactivée. Toute personne qui consulte le lien peut modifier la réponse, mais elle a besoin d'un compte pour accéder au formulaire si le paramètre Form.setRequireLogin(requireLogin)
est activé. Si le paramètre Form.setCollectEmail(collect)
est activé, le formulaire enregistre l'adresse e-mail de l'utilisateur qui a modifié la réponse, plutôt que l'adresse e-mail de la personne d'origine.
Pour une réponse de formulaire créée par le script, mais pas encore envoyée, cette méthode renvoie null
.
Aller-retour
String
: URL de la 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
getGradableItemResponses()
Récupère toutes les réponses aux éléments d'une réponse au formulaire, dans le même ordre que les éléments du formulaire. Cette méthode fonctionne de la même manière que getItemResponses()
, mais pour autoriser la notation d'une réponse manquante, elle renvoie toujours un ItemResponse
si le Item
correspondant peut être noté (c'est-à-dire si le nombre de points est attribué), même s'il n'y a pas de réponse réelle. Toutefois, si l'élément Item
ne peut pas être gradué, cette méthode exclut cet élément de son tableau renvoyé.
Aller-retour
ItemResponse[]
: tableau des réponses à chaque élément de la question du formulaire pour lequel la personne interrogée 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
getGradableResponseForItem(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 la même manière que getResponseForItem(item)
, mais pour permettre la notation d'une réponse manquante, elle renvoie tout de même une ItemResponse
si la propriété Item
correspondante peut être notée (c'est-à-dire si elle comporte un barème de notation), même s'il n'y a pas de réponse réelle. Toutefois, si l'élément Item
n'est pas gradable, cette méthode renvoie null
.
Paramètres
Nom | Type | Description |
---|---|---|
item | Item |
Aller-retour
ItemResponse
: réponse d'un élément donné, ou null
si aucune donnée n'existe et que l'élément n'est pas noté
getId()
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.
Aller-retour
String
: ID de la réponse au formulaire, ou null
si la réponse 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
getItemResponses()
Récupère toutes les réponses aux éléments d'une réponse au formulaire, dans le même ordre que les éléments du formulaire. Si la réponse au formulaire ne contient pas de réponse pour un élément TextItem
, DateItem
, TimeItem
ou ParagraphTextItem
donné, le ItemResponse
renvoyé pour cet élément comporte une chaîne vide. Si la réponse du formulaire omet une réponse pour tout autre type d'élément, cette méthode exclut cet élément de son tableau renvoyé.
Aller-retour
ItemResponse[]
: tableau des réponses à chaque élément de la question du formulaire pour lequel la personne interrogée 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
getRespondentEmail()
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
.
Aller-retour
String
: adresse e-mail de la personne qui a envoyé cette réponse, si disponible, 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
getResponseForItem(item)
Récupère la réponse de l'élément contenue dans ce formulaire pour un élément donné.
Paramètres
Nom | Type | Description |
---|---|---|
item | Item |
Aller-retour
ItemResponse
: réponse d'un élément donné, ou null
si aucune n'existe
getTimestamp()
Récupère l'horodatage d'envoi d'une réponse au formulaire.
Pour une réponse de formulaire créée par le script, mais pas encore envoyée, cette méthode renvoie null
.
Aller-retour
Date
: horodatage 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. Lève une exception de script si la réponse a déjà été envoyée.
Aller-retour
FormResponse
: réponse nouvellement créée 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
toPrefilledUrl()
Génère une URL pour le formulaire dans lequel les réponses sont préremplies en fonction des réponses de ce formulaire.
Aller-retour
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
withItemGrade(gradedResponse)
Ajoute les notes de l'élément donné à une réponse du 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'après leur envoi. Cette méthode ne met également à jour que la note de l'élément. Elle n'a aucune incidence sur la réponse réelle, car 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 l'élément "Response" ne contient aucune note, cette méthode supprime les notes de l'élément.
// Programmatically award partial credit for a given response var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); var formResponses = form.getResponses(); var formItems = form.getItems(); for (var i = 0; i < formResponses.length; i++) { var formResponse = formResponses[i]; for (var j = 0; j < formItems.length; j++) { var item = formItems[j]; var points = item.asMultipleChoiceItem().getPoints(); var itemResponse = formResponse.getGradableResponseForItem(item); Logger.log('Award half credit for answers containing the word "Kennedy"'); var answer = itemResponse.getResponse(); if (answer != null && answer.includes('Kennedy')) { itemResponse.setScore(points / 2); formResponse.withItemGrade(itemResponse); } } } form.submitGrades(formResponses);
Paramètres
Nom | Type | Description |
---|---|---|
gradedResponse | ItemResponse |
Aller-retour
FormResponse
: cet élément FormResponse
, 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
withItemResponse(response)
Ajoute la réponse donnée à un élément à une réponse au formulaire. Cette méthode ne s'applique qu'aux réponses de formulaire créées par le script, mais 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 est conservée.
Paramètres
Nom | Type | Description |
---|---|---|
response | ItemResponse |
Aller-retour
FormResponse
: cet élément FormResponse
, 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