Class FormResponse

Odpowiedź

Odpowiedź na cały formularz. FormResponse można wykorzystać na 3 sposoby: aby uzyskać dostęp do odpowiedzi przesłanych przez respondenta (zobacz getItemResponses()), automatycznie przesłać odpowiedź do formularza (patrz withItemResponse(response) i submit()) oraz wygenerować adres URL formularza, który wstępnie wypełnia pola za pomocą podanych odpowiedzi. FormResponse można utworzyć lub wyświetlić w narzędziu 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());
  }
}

Metody

MetodaZwracany typKrótki opis
getEditResponseUrl()StringGeneruje URL, który umożliwia edytowanie przesłanej już odpowiedzi.
getGradableItemResponses()ItemResponse[]Pobiera wszystkie odpowiedzi elementu zawarte w odpowiedzi na formularz w takiej samej kolejności, w jakiej występują w formularzu.
getGradableResponseForItem(item)ItemResponsePobiera odpowiedź elementu dla odpowiedzi na formularz danego elementu.
getId()StringPobiera identyfikator odpowiedzi na formularz.
getItemResponses()ItemResponse[]Pobiera wszystkie odpowiedzi elementu zawarte w odpowiedzi na formularz w takiej samej kolejności, w jakiej występują w formularzu.
getRespondentEmail()StringPobiera adres e-mail osoby, która przesłała odpowiedź (jeśli jest włączone ustawienie Form.setCollectEmail(collect)).
getResponseForItem(item)ItemResponsePobiera odpowiedź elementu dla tej odpowiedzi formularza.
getTimestamp()DatePobiera sygnaturę czasową przesłania odpowiedzi.
submit()FormResponseprzesyła odpowiedź;
toPrefilledUrl()StringGeneruje adres URL formularza, w którym odpowiedzi są wstępnie wypełniane na podstawie odpowiedzi z tego formularza.
withItemGrade(gradedResponse)FormResponseDodaje daną ocenę elementu do odpowiedzi na formularz.
withItemResponse(response)FormResponseDodaje wskazaną odpowiedź elementu do odpowiedzi na formularz.

Szczegółowa dokumentacja

getEditResponseUrl()

Generuje URL, który umożliwia edytowanie przesłanej już odpowiedzi. Jeśli ustawienie Form.setAllowResponseEdits(enabled) jest wyłączone, link prowadzi do strony z informacją o wyłączeniu formularza. Każda osoba mająca link może edytować tę odpowiedź, ale musi mieć konto z dostępem do formularza, jeśli włączone jest ustawienie Form.setRequireLogin(requireLogin). Jeśli włączone jest ustawienie Form.setCollectEmail(collect), formularz zapisuje adres e-mail użytkownika, który zmodyfikował odpowiedź, zamiast adresu e-mail oryginalnej osoby, która wysłała odpowiedź.

W przypadku odpowiedzi na formularz utworzonej przez zespół skryptu, która jeszcze nie została przesłana, ta metoda zwraca wartość null.

Zwróć

String – adres URL do zmiany przesłanej odpowiedzi;

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:

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

getGradableItemResponses()

Pobiera wszystkie odpowiedzi elementu zawarte w odpowiedzi na formularz w takiej samej kolejności, w jakiej występują w formularzu. Ta metoda działa podobnie jak właściwość getItemResponses(), ale aby umożliwić ocenę brakującej odpowiedzi, zwraca wartość ItemResponse, jeśli odpowiedni element Item może zostać oceniony (tzn. ma wartość punktową), nawet jeśli nie ma rzeczywistej odpowiedzi. Jeśli jednak element Item nie ma możliwości oceny, ta metoda wyklucza ten element z zwróconej tablicy.

Zwróć

ItemResponse[] – tablica odpowiedzi na każdy element pytania w formularzu, za który użytkownik może otrzymać wynik.

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:

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

getGradableResponseForItem(item)

Pobiera odpowiedź elementu dla odpowiedzi na formularz danego elementu. Ta metoda działa podobnie jak właściwość getResponseForItem(item), ale aby umożliwić ocenę brakującej odpowiedzi, zwraca wartość ItemResponse, jeśli odpowiedni element Item może zostać oceniony (tzn. ma wartość punktową), nawet jeśli nie ma rzeczywistej odpowiedzi. Jeśli jednak ustawienie Item nie jest klasyfikowane, ta metoda zwraca wartość null.

Parametry

NazwaTypOpis
itemItem

Zwróć

ItemResponse – odpowiedź dotycząca danego elementu lub null, jeśli nie istnieje, a element nie ma oceny


getId()

Pobiera identyfikator odpowiedzi na formularz. Ta metoda zwraca null, jeśli odpowiedź na formularz nie została przesłana.

Zwróć

String – identyfikator odpowiedzi na formularz lub null, jeśli odpowiedź z formularza nie została przesłana.

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:

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

getItemResponses()

Pobiera wszystkie odpowiedzi elementu zawarte w odpowiedzi na formularz w takiej samej kolejności, w jakiej występują w formularzu. Jeśli odpowiedź na formularz nie zawiera odpowiedzi dla danego typu TextItem, DateItem, TimeItem lub ParagraphTextItem, ItemResponse zwracany jako ten element będzie miał pusty ciąg znaków. Jeśli odpowiedź na formularz pominie odpowiedź innego typu elementu, ta metoda wykluczy ten element z zwróconej tablicy.

Zwróć

ItemResponse[] – tablica odpowiedzi na każdy element pytania w formularzu, na który udzielono odpowiedzi.

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:

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

getRespondentEmail()

Pobiera adres e-mail osoby, która przesłała odpowiedź (jeśli jest włączone ustawienie Form.setCollectEmail(collect)).

W przypadku odpowiedzi na formularz utworzonej przez zespół skryptu, która jeszcze nie została przesłana, ta metoda zwraca wartość null.

Zwróć

String – adres e-mail osoby, która przesłała tę odpowiedź (jeśli jest dostępna), lub null, jeśli skrypt utworzył tę odpowiedź, ale jeszcze jej nie przesłał;

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:

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

getResponseForItem(item)

Pobiera odpowiedź elementu dla tej odpowiedzi formularza.

Parametry

NazwaTypOpis
itemItem

Zwróć

ItemResponse – odpowiedź dla danego elementu lub null, jeśli nie istnieje


getTimestamp()

Pobiera sygnaturę czasową przesłania odpowiedzi.

W przypadku odpowiedzi na formularz utworzonej przez zespół skryptu, która jeszcze nie została przesłana, ta metoda zwraca wartość null.

Zwróć

Date – sygnatura czasowa przesłania tej odpowiedzi lub null, jeśli skrypt utworzył tę odpowiedź, ale jeszcze jej nie przesłał;

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:

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

submit()

przesyła odpowiedź; Zwraca wyjątek skryptu, jeśli odpowiedź została już przesłana.

Zwróć

FormResponse – nowo utworzona odpowiedź zapisana w formularzu odpowiedzi.

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:

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

toPrefilledUrl()

Generuje adres URL formularza, w którym odpowiedzi są wstępnie wypełniane na podstawie odpowiedzi z tego formularza.

Zwróć

String – adres URL formularza z wstępnie wypełnionymi odpowiedziami

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:

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

withItemGrade(gradedResponse)

Dodaje daną ocenę elementu do odpowiedzi na formularz. Ta metoda dotyczy tylko odpowiedzi na formularze, które zostały już przesłane, i ma wpływ na zapisane oceny dopiero po ich przesłaniu. Ta metoda aktualizuje tylko odpowiedzi elementu – nie wpływa na rzeczywistą odpowiedź (ponieważ została już przesłana). Jeśli ta sama metoda zostanie wywołana wiele razy dla tego samego elementu, zostanie zachowana tylko ostatnia ocena. Jeśli element ItemResponse nie zawiera ocen, ta metoda spowoduje usunięcie ocen tego elementu.

// 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);

Parametry

NazwaTypOpis
gradedResponseItemResponse

Zwróć

FormResponse – ten FormResponse do łańcucha

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:

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

withItemResponse(response)

Dodaje wskazaną odpowiedź elementu do odpowiedzi na formularz. Ta metoda dotyczy tylko odpowiedzi na formularz, które zostały utworzone przez skrypt, ale jeszcze nie zostały przesłane. Nie ma to wpływu na przechowywane odpowiedzi. Jeśli ta metoda zostanie wywołana wiele razy dla tego samego elementu, zostanie zachowana tylko ostatnia odpowiedź elementu.

Parametry

NazwaTypOpis
responseItemResponse

Zwróć

FormResponse – ten FormResponse do łańcucha

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:

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