Eine Antwort auf das Formular als Ganzes. Ein FormResponse
kann auf drei Arten verwendet werden:
die von einem Teilnehmer gesendeten Antworten (siehe getItemResponses()
) an programmatischer Sender
Antwort auf das Formular senden (siehe withItemResponse(response)
und submit()
) und eine URL für das Formular zu generieren, die Felder mit den bereitgestellten
Antworten. FormResponse
s können über Form
erstellt oder aufgerufen werden.
// 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()); } }
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
getEditResponseUrl() | String | Erstellt eine URL, mit der eine bereits gesendete Antwort bearbeitet werden kann. |
getGradableItemResponses() | ItemResponse[] | Ruft alle in einer Formularantwort enthaltenen Elementantworten in derselben Reihenfolge ab, in der die Elemente angezeigt werden in das Formular ein. |
getGradableResponseForItem(item) | ItemResponse | Ruft die Elementantwort ab, die in einer Formularantwort für ein bestimmtes Element enthalten ist. |
getId() | String | Ruft die ID der Formularantwort ab. |
getItemResponses() | ItemResponse[] | Ruft alle in einer Formularantwort enthaltenen Elementantworten in derselben Reihenfolge ab, in der die Elemente angezeigt werden in das Formular ein. |
getRespondentEmail() | String | Ruft die E-Mail-Adresse der Person ab, die eine Antwort gesendet hat, wenn die Einstellung Form.setCollectEmail(collect) aktiviert ist. |
getResponseForItem(item) | ItemResponse | Ruft die Elementantwort ab, die in dieser Formularantwort für ein bestimmtes Element enthalten ist. |
getTimestamp() | Date | Ruft den Zeitstempel für das Senden einer Formularantwort ab. |
submit() | FormResponse | Sendet die Antwort. |
toPrefilledUrl() | String | Erstellt eine URL für das Formular, in dem die Antworten anhand der Antworten in diesem |
withItemGrade(gradedResponse) | FormResponse | Fügt einer Formularantwort die Noten der angegebenen Elementantwort hinzu. |
withItemResponse(response) | FormResponse | Fügt die angegebene Elementantwort einer Formularantwort hinzu. |
Detaillierte Dokumentation
getEditResponseUrl()
Erstellt eine URL, mit der eine bereits gesendete Antwort bearbeitet werden kann. Wenn die
Form.setAllowResponseEdits(enabled)
deaktiviert ist, führt der Link zu einer Seite, die
erklärt, dass das Bearbeiten von Formularantworten deaktiviert ist. Alle Nutzer, die den Link aufrufen, können das
Antwort erhalten, obwohl sie ein Konto mit Zugriff auf das Formular benötigen, wenn die Einstellung „Form.setRequireLogin(requireLogin)
“ aktiviert ist. Wenn die Form.setCollectEmail(collect)
aktiviert ist, wird im Formular die E-Mail-Adresse des Nutzers gespeichert, der die Antwort bearbeitet hat.
statt an die E-Mail-Adresse des ursprünglichen Teilnehmers senden.
Für eine Formularantwort, die durch das Skript erstellt, aber noch nicht gesendet wurde, gibt diese Methode
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);
Rückflug
String
: Die URL zum Ändern einer gesendeten Antwort.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getGradableItemResponses()
Ruft alle in einer Formularantwort enthaltenen Elementantworten in derselben Reihenfolge ab, in der die Elemente angezeigt werden
in das Formular ein. Diese Methode funktioniert ähnlich wie die getItemResponses()
-Methode, ermöglicht aber eine Benotung
fehlende Antwort vorhanden ist, wird dennoch ein ItemResponse
zurückgegeben, wenn die entsprechende Item
benotet werden kann (d. h., es gibt eine Punktzahl), auch wenn es keine tatsächliche Antwort gibt. Wenn die
Item
kann nicht benotet werden. Bei dieser Methode wird das Element aus dem zurückgegebenen Array ausgeschlossen.
// 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()}`); } }
Rückflug
ItemResponse[]
: Array der Antworten auf alle Fragen im Formular, auf die sich der Teilnehmer bezieht
eine Punktzahl erhalten.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getGradableResponseForItem(item)
Ruft die Elementantwort ab, die in einer Formularantwort für ein bestimmtes Element enthalten ist. Diese Methode funktioniert
ähnlich wie getResponseForItem(item)
, aber um fehlende Antworten zu benoten,
gibt ItemResponse
zurück, wenn die entsprechende Item
benotet werden kann (d. h. einen Punkt hat).
Wert) angezeigt wird, auch wenn es keine tatsächliche Antwort gibt. Wenn die Item
jedoch nicht benotet werden kann,
Diese Methode gibt null
zurück.
// 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()}`); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
item | Item |
Rückflug
ItemResponse
: Die Antwort für ein bestimmtes Element oder null
, wenn kein Element vorhanden und das Element unbenotet ist.
getId()
Ruft die ID der Formularantwort ab. Diese Methode gibt null
zurück, wenn die Formularantwort nicht
gesendet.
// 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()}`); }
Rückflug
String
: Die ID der Formularantwort oder null
, falls die Formularantwort noch nicht erstellt wurde.
gesendet.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getItemResponses()
Ruft alle in einer Formularantwort enthaltenen Elementantworten in derselben Reihenfolge ab, in der die Elemente angezeigt werden
in das Formular ein. Wenn die Formularantwort keine Antwort für eine bestimmte TextItem
enthält,
DateItem
, TimeItem
oder ParagraphTextItem
, die ItemResponse
hat einen leeren String. Wenn in der Formularantwort ein
für einen anderen Elementtyp erstellt, schließt diese Methode dieses Element aus dem zurückgegebenen Array aus.
// 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()}'`); } }
Rückflug
ItemResponse[]
: Array der Antworten auf alle Fragen im Formular, auf die sich der Teilnehmer bezieht
hat eine Antwort gegeben.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getRespondentEmail()
Ruft die E-Mail-Adresse der Person ab, die eine Antwort gesendet hat, wenn die Einstellung Form.setCollectEmail(collect)
aktiviert ist.
Für eine Formularantwort, die durch das Skript erstellt, aber noch nicht gesendet wurde, gibt diese Methode
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()}`); }
Rückflug
String
: Die E-Mail-Adresse der Person, die diese Antwort gesendet hat (falls verfügbar) oder null
, wenn die Antwort vom Skript erstellt, aber noch nicht gesendet wurde.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getResponseForItem(item)
Ruft die Elementantwort ab, die in dieser Formularantwort für ein bestimmtes Element enthalten ist.
// 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()); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
item | Item |
Rückflug
ItemResponse
– Die Antwort für ein bestimmtes Element oder null
, wenn keins vorhanden ist.
getTimestamp()
Ruft den Zeitstempel für das Senden einer Formularantwort ab.
Für eine Formularantwort, die durch das Skript erstellt, aber noch nicht gesendet wurde, gibt diese Methode
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()}`); }
Rückflug
Date
: Der Zeitstempel, zu dem die Antwort gesendet wurde, oder null
, wenn das Skript
hat diese Antwort erstellt, aber noch nicht gesendet.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
submit()
Sendet die Antwort. Löst eine Skriptausnahme aus, wenn die Antwort bereits gesendet wurde.
// 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();
Rückflug
FormResponse
: Eine neu erstellte Antwort, die im Antwortspeicher des Formulars gespeichert wird.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
toPrefilledUrl()
Erstellt eine URL für das Formular, in dem die Antworten anhand der Antworten in diesem
// 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);
Rückflug
String
: Die URL für ein Formular mit vorausgefüllten Antworten.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
withItemGrade(gradedResponse)
Fügt einer Formularantwort die Noten der angegebenen Elementantwort hinzu. Diese Methode gilt nur für bereits eingegangene Antworten. Diese werden erst dann wirksam, wenn sie gesendet. Mit dieser Methode werden auch nur die Noten der Artikelantwort aktualisiert. wirkt sich dies nicht auf die tatsächliche Antwort (da die Antwort bereits gesendet wurde) Wenn diese Methode aufgerufen wird, mehrfach für dasselbe Element erhalten, wird nur die letzte Note beibehalten. Wenn „ItemResponse“ die Zeichenfolge keine Noten vorhanden sind, werden bei dieser Methode die Noten für das Element entfernt.
// 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);
Parameter
Name | Typ | Beschreibung |
---|---|---|
gradedResponse | ItemResponse |
Rückflug
FormResponse
– diese FormResponse
, für Verkettung
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
withItemResponse(response)
Fügt die angegebene Elementantwort einer Formularantwort hinzu. Diese Methode gilt nur für Formularantworten das Skript erstellt, aber noch nicht gesendet wurde; kann er sich nicht auf gespeicherte Antworten auswirken. Wenn dieses mehrmals für dasselbe Element aufgerufen wird, wird nur die letzte Elementantwort beibehalten.
// 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();
Parameter
Name | Typ | Beschreibung |
---|---|---|
response | ItemResponse |
Rückflug
FormResponse
: Diese FormResponse
zum Verketten.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms