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
Metoda | Zwracany typ | Krótki opis |
---|---|---|
getEditResponseUrl() | String | Generuje 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) | ItemResponse | Pobiera odpowiedź elementu dla odpowiedzi na formularz danego elementu. |
getId() | String | Pobiera 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() | String | Pobiera adres e-mail osoby, która przesłała odpowiedź (jeśli jest włączone ustawienie Form.setCollectEmail(collect) ). |
getResponseForItem(item) | ItemResponse | Pobiera odpowiedź elementu dla tej odpowiedzi formularza. |
getTimestamp() | Date | Pobiera sygnaturę czasową przesłania odpowiedzi. |
submit() | FormResponse | przesyła odpowiedź; |
toPrefilledUrl() | String | Generuje adres URL formularza, w którym odpowiedzi są wstępnie wypełniane na podstawie odpowiedzi z tego formularza. |
withItemGrade(gradedResponse) | FormResponse | Dodaje daną ocenę elementu do odpowiedzi na formularz. |
withItemResponse(response) | FormResponse | Dodaje 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
Nazwa | Typ | Opis |
---|---|---|
item | Item |
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
Nazwa | Typ | Opis |
---|---|---|
item | Item |
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
Nazwa | Typ | Opis |
---|---|---|
gradedResponse | ItemResponse |
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
Nazwa | Typ | Opis |
---|---|---|
response | ItemResponse |
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