Una risposta al modulo nel suo complesso. Un FormResponse
può essere utilizzato in tre modi: per accedere
le risposte inviate da chi risponde (vedi getItemResponses()
), in modo programmatico
inviare una risposta al modulo (consulta i withItemResponse(response)
e submit()
) e generare un URL per il modulo che precompila i campi utilizzando
risposte. È possibile creare FormResponse
o accedervi da 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()); } }
Metodi
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
getEditResponseUrl() | String | Genera un URL che può essere utilizzato per modificare una risposta già inviata. |
getGradableItemResponses() | ItemResponse[] | Recupera tutte le risposte agli elementi contenute in una risposta del modulo, nello stesso ordine in cui vengono visualizzati gli elementi nel modulo. |
getGradableResponseForItem(item) | ItemResponse | Restituisce la risposta all'elemento contenuta in una risposta del modulo per un determinato elemento. |
getId() | String | Recupera l'ID della risposta del modulo. |
getItemResponses() | ItemResponse[] | Recupera tutte le risposte agli elementi contenute in una risposta del modulo, nello stesso ordine in cui vengono visualizzati gli elementi nel modulo. |
getRespondentEmail() | String | Recupera l'indirizzo email della persona che ha inviato una risposta, se l'impostazione Form.setCollectEmail(collect) è attivata. |
getResponseForItem(item) | ItemResponse | Restituisce la risposta all'elemento contenuta nella risposta del modulo per un determinato elemento. |
getTimestamp() | Date | Ottiene il timestamp per l'invio di una risposta a un modulo. |
submit() | FormResponse | Invia la risposta. |
toPrefilledUrl() | String | Genera un URL per il modulo in cui le risposte sono precompilate in base alle risposte in questo come risposta del modulo. |
withItemGrade(gradedResponse) | FormResponse | Aggiunge i voti della risposta di un determinato elemento a una risposta del modulo. |
withItemResponse(response) | FormResponse | Aggiunge la risposta all'elemento specificata a una risposta del 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 rimanda a una pagina che
spiega che la modifica delle risposte del modulo è disabilitata. Chiunque visiti il link può modificare
risposta, anche se necessita di un account con accesso al modulo se l'impostazione Form.setRequireLogin(requireLogin)
è attivata. Se Form.setCollectEmail(collect)
attiva, il modulo registra l'indirizzo email dell'utente che ha modificato la risposta
anziché l'indirizzo email dell'intervistato originale.
Per una risposta del modulo che lo script ha creato, ma non ancora inviato, 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);
Invio
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 del modulo, nello stesso ordine in cui vengono visualizzati gli elementi
nel modulo. Questo metodo funziona in modo simile a getItemResponses()
, ma per consentire la valutazione
risposta mancante, restituisce comunque ItemResponse
se il valore Item
corrispondente
può essere valutato (ovvero ha un valore in punti), anche se non esiste una risposta effettiva. Tuttavia, se
Item
non è misurabile. 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()}`); } }
Invio
ItemResponse[]
: un array di risposte a ogni domanda all'interno del modulo per il quale l'intervistato
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)
Restituisce la risposta all'elemento contenuta in una risposta del modulo per un determinato elemento. Questo metodo funziona
in modo simile a getResponseForItem(item)
, ma per consentire di valutare una risposta mancante
restituisce un valore ItemResponse
se è possibile valutare il corrispondente Item
(ad esempio, ha un punto
), anche se non c'è una risposta effettiva. Tuttavia, se l'Item
non è misurabile,
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 |
Invio
ItemResponse
: la risposta per un determinato elemento o null
se non ne esiste nessuno e l'elemento è senza voto.
getId()
Recupera l'ID della risposta del modulo. Questo metodo restituisce null
se la risposta del modulo non ha
inviate.
// 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()}`); }
Invio
String
: l'ID della risposta del modulo o null
se la risposta del modulo non è stata
inviate.
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 del modulo, nello stesso ordine in cui vengono visualizzati gli elementi
nel modulo. Se la risposta del modulo non contiene una risposta per un determinato TextItem
,
DateItem
, TimeItem
o ParagraphTextItem
, ItemResponse
restituiti per quell'elemento avranno una stringa vuota come risposta. Se la risposta del modulo omette un
risposta per qualsiasi altro tipo di elemento, questo metodo lo esclude 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()}'`); } }
Invio
ItemResponse[]
: un array di risposte a ogni domanda all'interno del modulo per il quale l'intervistato
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()
Recupera l'indirizzo email della persona che ha inviato una risposta, se l'impostazione Form.setCollectEmail(collect)
è attivata.
Per una risposta del modulo che lo script ha creato, ma non ancora inviato, 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()}`); }
Invio
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)
Restituisce la risposta all'elemento contenuta nella risposta del 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 |
Invio
ItemResponse
: la risposta per un determinato elemento o null
se non ne esiste nessuno.
getTimestamp()
Ottiene il timestamp per l'invio di una risposta a un modulo.
Per una risposta del modulo che lo script ha creato, ma non ancora inviato, 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()}`); }
Invio
Date
: il timestamp in cui è stata inviata la 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();
Invio
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 questo come risposta del 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);
Invio
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 di un determinato elemento a una risposta del modulo. Questo metodo si applica solo ai moduli risposte già inviate e influisce sui voti archiviati solo una volta che inviate. Questo metodo aggiorna anche solo i voti della risposta all'elemento; non influisce sul risposta effettiva (poiché la risposta è già stata inviata). Se questo metodo viene chiamato più volte per uno stesso elemento, viene conservato solo l'ultimo voto. Se l'oggetto ItemResponse contiene nessun voto, questo metodo rimuoverà i voti per l'elemento.
// 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);
Parametri
Nome | Tipo | Descrizione |
---|---|---|
gradedResponse | ItemResponse |
Invio
FormResponse
: FormResponse
, per 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 dell'elemento specificata a una risposta del modulo. Questo metodo si applica solo alle risposte del modulo creato dallo script, ma non ancora inviato; non può influire sulle risposte memorizzate. Se questo viene chiamato più volte per lo stesso elemento, viene mantenuta solo l'ultima risposta.
// 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 | ItemResponse |
Invio
FormResponse
: 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