Una risposta al modulo nel suo complesso. Un FormResponse può essere utilizzato in tre modi: per accedere alle risposte inviate da chi risponde (vedi getItemResponses()), per inviare una risposta al modulo in modo programmatico (vedi withItemResponse(response) e submit()) e per generare un URL per il modulo che precompila i campi utilizzando le risposte fornite. I FormResponse possono essere creati o accessibili da 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(), ); } }
Metodi
| Metodo | Tipo restituito | Breve descrizione |
|---|---|---|
get | String | Genera un URL che può essere utilizzato per modificare una risposta già inviata. |
get | Item | Recupera tutte le risposte agli elementi contenute in una risposta a un modulo, nello stesso ordine in cui gli elementi vengono visualizzati nel modulo. |
get | Item | Recupera la risposta all'elemento contenuta in una risposta a un modulo per un determinato elemento. |
get | String|null | Recupera l'ID della risposta a un modulo. |
get | Item | Recupera tutte le risposte agli elementi contenute in una risposta a un modulo, nello stesso ordine in cui gli elementi vengono visualizzati nel modulo. |
get | String | Visualizza l'indirizzo email della persona che ha inviato una risposta, se l'impostazione Form.setCollectEmail(collect) è attivata. |
get | Item | Recupera la risposta all'elemento contenuta in questa risposta a un modulo per un determinato elemento. |
get | Date | Recupera il timestamp per l'invio di una risposta a un modulo. |
submit() | Form | Invia la risposta. |
to | String | Genera un URL per il modulo in cui le risposte sono precompilate in base alle risposte in questa risposta a un modulo. |
with | Form | Aggiunge i voti della risposta all'elemento specificato a una risposta a un modulo. |
with | Form | Aggiunge la risposta all'elemento specificato a una risposta a un modulo. |
Documentazione dettagliata
getEditResponseUrl()
Genera un URL che può essere utilizzato per modificare una risposta già inviata. Se l'impostazione
Form.setAllowResponseEdits(enabled) è disattivata, il link indirizza a una pagina che
spiega che la modifica delle risposte del modulo è disattivata. Chiunque visiti il link può modificare la
risposta, anche se ha bisogno di un account con accesso al modulo se l'impostazione è abilitata. Se l'impostazione Form.setRequireLogin(requireLogin)Form.setCollectEmail(collect)
è abilitata, il modulo registra l'indirizzo email dell'utente che ha modificato la risposta
anziché l'indirizzo email del rispondente originale.
Per una risposta a un modulo creata dallo script ma non ancora inviata, questo metodo restituisce
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);
Indietro
String: l'URL per modificare una risposta inviata.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getGradableItemResponses()
Recupera tutte le risposte agli elementi contenute in una risposta a un modulo, nello stesso ordine in cui gli elementi vengono visualizzati
nel modulo. Questo metodo funziona in modo simile a getItemResponses(), ma per consentire la valutazione
di una risposta mancante, restituisce comunque un ItemResponse se il Item corrispondente
può essere valutato (ovvero ha un valore in punti), anche se non è presente una risposta effettiva. Tuttavia, se
Item non è valutabile, questo metodo esclude l'elemento dall'array restituito.
// 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()}`); } }
Indietro
ItemResponse[]: un array di risposte a ogni elemento della domanda all'interno del modulo per il quale il rispondente
potrebbe ricevere un punteggio.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getGradableResponseForItem(item)
Recupera la risposta all'elemento contenuta in una risposta a un modulo per un determinato elemento. Questo metodo funziona
in modo simile a getResponseForItem(item), ma per consentire la valutazione di una risposta mancante, restituisce comunque
un ItemResponse se il Item corrispondente può essere valutato (ovvero ha un
valore in punti), anche se non è presente una risposta effettiva. Tuttavia, se Item non è
valutabile, questo metodo restituisce 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()}`, ); }
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
item | Item |
Indietro
ItemResponse: la risposta per un determinato elemento o null se non esiste e l'elemento non è classificato.
getId()
Recupera l'ID della risposta a un modulo. Questo metodo restituisce null se la risposta a un modulo non è stata
inviata.
// 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()}`); }
Indietro
String|null: l'ID della risposta a un modulo o null se la risposta a un modulo non è stata
inviata.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getItemResponses()
Recupera tutte le risposte agli elementi contenute in una risposta a un modulo, nello stesso ordine in cui gli elementi vengono visualizzati
nel modulo. Se la risposta a un modulo non contiene una risposta per un determinato TextItem,
DateItem, TimeItem o ParagraphTextItem, il ItemResponse
restituito per quell'elemento avrà una stringa vuota come risposta. Se la risposta a un modulo omette una
risposta per qualsiasi altro tipo di articolo, questo metodo esclude l'elemento dall'array restituito.
// 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()}'`); } }
Indietro
ItemResponse[]: un array di risposte a ogni elemento della domanda all'interno del modulo per il quale chi risponde
ha fornito una risposta.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getRespondentEmail()
Visualizza l'indirizzo email della persona che ha inviato una risposta, se l'impostazione Form.setCollectEmail(collect) è attivata.
Per una risposta a un modulo creata dallo script ma non ancora inviata, questo metodo restituisce
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()}`); }
Indietro
String: l'indirizzo email della persona che ha inviato questa risposta, se disponibile, o null se lo script ha creato questa risposta, ma non l'ha ancora inviata.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getResponseForItem(item)
Recupera la risposta all'elemento contenuta in questa risposta a un modulo per un determinato elemento.
// 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()); }
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
item | Item |
Indietro
ItemResponse: la risposta per un determinato elemento o null se non esiste.
getTimestamp()
Recupera il timestamp per l'invio di una risposta a un modulo.
Per una risposta a un modulo creata dallo script ma non ancora inviata, questo metodo restituisce
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()}`); }
Indietro
Date: il timestamp in cui è stata inviata questa risposta o null se lo script
ha creato questa risposta, ma non l'ha ancora inviata.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
submit()
Invia la risposta. Genera un'eccezione di scripting se la risposta è già stata inviata.
// 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();
Indietro
FormResponse: una risposta appena creata salvata nell'archivio delle risposte del modulo.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
toPrefilledUrl()
Genera un URL per il modulo in cui le risposte sono precompilate in base alle risposte in questa risposta a un modulo.
// 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);
Indietro
String: l'URL di un modulo con risposte precompilate.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
withItemGrade(gradedResponse)
Aggiunge i voti della risposta all'elemento specificato a una risposta a un modulo. Questo metodo si applica solo alle risposte del modulo già inviate e influisce sui voti memorizzati solo dopo l'invio. Questo metodo aggiorna anche solo i voti della risposta all'elemento, non influisce sulla risposta effettiva (poiché è già stata inviata). Se questo metodo viene chiamato più volte per lo stesso elemento, viene conservato solo l'ultimo voto. Se ItemResponse non contiene voti, questo metodo rimuove i voti per l'elemento.
// 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);
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
graded | Item |
Indietro
FormResponse: questo FormResponse, per il concatenamento
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
withItemResponse(response)
Aggiunge la risposta all'elemento specificato a una risposta a un modulo. Questo metodo si applica solo alle risposte al modulo che lo script ha creato ma non ancora inviato; non può influire sulle risposte archiviate. Se questo metodo viene chiamato più volte per lo stesso elemento, viene conservata solo l'ultima risposta dell'elemento.
// 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();
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
response | Item |
Indietro
FormResponse: questo FormResponse, per il concatenamento.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms