Class FormResponse

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Formularantwort

Eine Antwort auf das Formular als Ganzes Ein FormResponse kann auf drei Arten verwendet werden: um auf die Antworten eines Befragten zuzugreifen (siehe getItemResponses()), um programmatisch eine Antwort auf das Formular zu senden (siehe withItemResponse(response) und submit()) und um eine URL für das Formular zu generieren, durch die Felder mit den angegebenen Antworten vorausgefüllt werden. FormResponses können über einen 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

MethodeRückgabetypKurzbeschreibung
getEditResponseUrl()StringErstellt eine URL, mit der eine bereits gesendete Antwort bearbeitet werden kann.
getGradableItemResponses()ItemResponse[]Ruft alle Elementantworten in einer Formularantwort in der Reihenfolge ab, in der die Elemente im Formular angezeigt werden.
getGradableResponseForItem(item)ItemResponseRuft die Elementantwort in einer Formularantwort für ein bestimmtes Element ab.
getId()StringRuft die ID der Formularantwort ab.
getItemResponses()ItemResponse[]Ruft alle Elementantworten in einer Formularantwort in der Reihenfolge ab, in der die Elemente im Formular angezeigt werden.
getRespondentEmail()StringRuft die E-Mail-Adresse der Person ab, die eine Antwort gesendet hat, wenn die Einstellung Form.setCollectEmail(collect) aktiviert ist.
getResponseForItem(item)ItemResponseRuft die in dieser Formularantwort enthaltene Artikelantwort für einen bestimmten Artikel ab.
getTimestamp()DateRuft den Zeitstempel für eine Formularantwort ab.
submit()FormResponseSendet die Antwort.
toPrefilledUrl()StringErstellt eine URL für das Formular, in dem basierend auf den Antworten in dieser Formularantwort vorausgefüllt wird.
withItemGrade(gradedResponse)FormResponseFügt der Formularantwort die Noten der Antwort des Elements hinzu.
withItemResponse(response)FormResponseFügt die angegebene Elementantwort zu einer Formularantwort hinzu.

Detaillierte Dokumentation

getEditResponseUrl()

Erstellt eine URL, mit der eine bereits gesendete Antwort bearbeitet werden kann. Wenn die Einstellung Form.setAllowResponseEdits(enabled) deaktiviert ist, führt der Link zu einer Seite, auf der erläutert wird, dass das Bearbeiten von Formularantworten deaktiviert ist. Jeder, der über den Link verfügt, kann die Antwort bearbeiten. Allerdings ist ein Konto mit Zugriff auf das Formular erforderlich, wenn die Einstellung Form.setRequireLogin(requireLogin) aktiviert ist. Wenn die Einstellung Form.setCollectEmail(collect) aktiviert ist, wird im Formular anstelle der E-Mail-Adresse des ursprünglichen Teilnehmers die E-Mail-Adresse des Nutzers erfasst, der die Antwort bearbeitet hat.

Bei einer Formularantwort, die vom Skript erstellt, aber noch nicht gesendet wurde, gibt diese Methode null zurück.

Zurücksenden

String: Die URL zum Ändern einer gesendeten Antwort

Autorisierung

Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getGradableItemResponses()

Ruft alle Elementantworten in einer Formularantwort in der Reihenfolge ab, in der die Elemente im Formular angezeigt werden. Diese Methode funktioniert ähnlich wie getItemResponses(), aber um eine fehlende Antwort zu benoten, wird weiterhin ItemResponse zurückgegeben, wenn die entsprechende Item benotet werden kann (d. h. sie hat einen Punktwert), auch wenn keine tatsächliche Antwort vorhanden ist. Wenn Item jedoch nicht gradierbar ist, wird das Element bei dieser Methode aus dem zurückgegebenen Array ausgeschlossen.

Zurücksenden

ItemResponse[]: ein Array von Antworten auf jedes Frageelement im Formular, für das der Teilnehmer eine Punktzahl erhalten könnte.

Autorisierung

Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getGradableResponseForItem(item)

Ruft die Elementantwort in einer Formularantwort für ein bestimmtes Element ab. Diese Methode funktioniert ähnlich wie getResponseForItem(item), aber um eine fehlende Antwort zu bewerten, wird trotzdem eine ItemResponse zurückgegeben, wenn die entsprechende Item benotet werden kann (d. h. sie hat eine Punktzahl), auch wenn keine tatsächliche Antwort vorhanden ist. Wenn Item jedoch nicht gradierbar ist, gibt diese Methode null zurück.

Parameter

NameTypBeschreibung
itemItem

Zurücksenden

ItemResponse: Die Antwort für ein bestimmtes Element oder null, wenn kein Element vorhanden ist und das Element nicht bewertet ist


getId()

Ruft die ID der Formularantwort ab. Diese Methode gibt null zurück, wenn die Formularantwort noch nicht gesendet wurde.

Zurücksenden

String: die ID der Formularantwort oder null, wenn die Formularantwort nicht gesendet wurde.

Autorisierung

Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getItemResponses()

Ruft alle Elementantworten in einer Formularantwort in der Reihenfolge ab, in der die Elemente im Formular angezeigt werden. Wenn die Formularantwort keine Antwort für eine bestimmte TextItem, DateItem, TimeItem oder ParagraphTextItem enthält, hat die für dieses Element zurückgegebene ItemResponse einen leeren String als Antwort. Wenn in der Formularantwort eine Antwort für einen anderen Elementtyp weggelassen wird, schließt diese Methode das Element aus dem zurückgegebenen Array aus.

Zurücksenden

ItemResponse[]: ein Array mit Antworten auf jedes Frageelement im Formular, für das der Teilnehmer eine Antwort gegeben hat

Autorisierung

Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

  • 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.

Bei einer Formularantwort, die vom Skript erstellt, aber noch nicht gesendet wurde, gibt diese Methode null zurück.

Zurücksenden

String: E-Mail-Adresse der Person, die diese Antwort gesendet hat, falls verfügbar, oder null, wenn das Skript diese Antwort erstellt, aber noch nicht gesendet hat

Autorisierung

Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getResponseForItem(item)

Ruft die in dieser Formularantwort enthaltene Artikelantwort für einen bestimmten Artikel ab.

Parameter

NameTypBeschreibung
itemItem

Zurücksenden

ItemResponse: Die Antwort für ein bestimmtes Element oder null, wenn keines vorhanden ist.


getTimestamp()

Ruft den Zeitstempel für eine Formularantwort ab.

Bei einer Formularantwort, die vom Skript erstellt, aber noch nicht gesendet wurde, gibt diese Methode null zurück.

Zurücksenden

Date: Zeitstempel, an dem diese Antwort gesendet wurde, oder null, wenn das Skript diese Antwort erstellt, aber noch nicht gesendet hat

Autorisierung

Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

submit()

Sendet die Antwort. Löst eine Ausnahme aus, wenn die Antwort bereits gesendet wurde.

Zurücksenden

FormResponse: Eine neu erstellte Antwort wird im Antwortspeicher des Formulars gespeichert.

Autorisierung

Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

toPrefilledUrl()

Erstellt eine URL für das Formular, in dem basierend auf den Antworten in dieser Formularantwort vorausgefüllt wird.

Zurücksenden

String: die URL für ein Formular mit vorausgefüllten Antworten

Autorisierung

Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

withItemGrade(gradedResponse)

Fügt der Formularantwort die Noten der Antwort des Elements hinzu. Diese Methode gilt nur für bereits gesendete Formularantworten und wirkt sich erst auf gespeicherte Noten aus. Bei dieser Methode werden auch nur die Noten der Artikelantwort aktualisiert. Sie hat keinen Einfluss auf die tatsächliche Antwort, da die Antwort bereits gesendet wurde. Wenn diese Methode mehrmals für dasselbe Element aufgerufen wird, wird nur die letzte Note beibehalten. Wenn „ItemResponse“ keine Noten enthält, werden 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

NameTypBeschreibung
gradedResponseItemResponse

Zurücksenden

FormResponse – dieser FormResponse für Verkettung

Autorisierung

Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

withItemResponse(response)

Fügt die angegebene Elementantwort zu einer Formularantwort hinzu. Diese Methode gilt nur für Formularantworten, die vom Skript erstellt, aber noch nicht gesendet wurden. Gespeicherte Antworten sind davon nicht betroffen. Wenn diese Methode mehrmals für dasselbe Element aufgerufen wird, wird nur die letzte Elementantwort beibehalten.

Parameter

NameTypBeschreibung
responseItemResponse

Zurücksenden

FormResponse – dieser FormResponse für Verkettung

Autorisierung

Für Skripts, die diese Methode verwenden, ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms