REST Resource: forms

Zasób: Form

dokument w Formularzach Google, Formularz zostaje utworzony na Dysku, a jego usunięcie lub zmiana zabezpieczeń dostępu odbywa się za pomocą interfejsu Drive API.

Zapis JSON
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
Pola
formId

string

Tylko dane wyjściowe. Identyfikator formularza.

info

object (Info)

To pole jest wymagane. Tytuł i opis formularza.

settings

object (FormSettings)

Ustawienia formularza. Należy ją zaktualizować wartością UpdateSettingsRequest. Jest ona ignorowana w procesach forms.create i UpdateFormInfoRequest.

items[]

object (Item)

To pole jest wymagane. Lista elementów formularza, które mogą obejmować nagłówki sekcji, pytania, osadzone multimedia itp.

revisionId

string

Tylko dane wyjściowe. Identyfikator wersji formularza. Używane w polu WriteControl w żądaniach aktualizacji do identyfikacji wersji, na której opierają się zmiany.

Format identyfikatora wersji może się z czasem zmieniać, dlatego należy go traktować nieprzezroczysty. Zwrócony identyfikator wersji jest ważny tylko przez 24 godziny od zwrócenia i nie może być udostępniany użytkownikom. Jeśli identyfikator wersji nie uległ zmianie między wywołaniami, formularz się nie zmienił. Natomiast zmiana identyfikatora (dla tego samego formularza i użytkownika) zwykle oznacza, że formularz został zaktualizowany. Zmiana może być jednak spowodowana czynnikami wewnętrznymi, takimi jak zmiana formatu identyfikatora.

responderUri

string

Tylko dane wyjściowe. Identyfikator URI formularza do udostępnienia użytkownikom. Otworzy się strona, na której użytkownik będzie mógł przesłać odpowiedzi, ale nie będzie mógł ich edytować.

linkedSheetId

string

Tylko dane wyjściowe. Identyfikator połączonego arkusza Google, który zbiera odpowiedzi z tego formularza (jeśli arkusz taki istnieje).

Informacje

Ogólne informacje o formularzu.

Zapis JSON
{
  "title": string,
  "documentTitle": string,
  "description": string
}
Pola
title

string

To pole jest wymagane. Tytuł formularza widoczny dla użytkowników.

documentTitle

string

Tylko dane wyjściowe. Tytuł dokumentu widoczny na Dysku. Jeśli pole Info.title jest puste, w jego miejscu w interfejsie Formularzy Google może pojawić się documentTitle i być widoczna dla użytkowników. Typ documentTitle można ustawić podczas tworzenia, ale nie można go zmienić za pomocą żądania wsadowego aktualizacji. Jeśli chcesz automatycznie zaktualizować plik documentTitle, użyj interfejsu Google Drive API.

description

string

Opis formularza.

FormSettings

Ustawienia formularza.

Zapis JSON
{
  "quizSettings": {
    object (QuizSettings)
  }
}
Pola
quizSettings

object (QuizSettings)

Ustawienia dotyczące formularzy testów i oceniania.

QuizSettings

Ustawienia dotyczące formularzy testów i oceniania. Należy je zaktualizować za pomocą obiektu UpdateSettingsRequest.

Zapis JSON
{
  "isQuiz": boolean
}
Pola
isQuiz

boolean

Określa, czy formularz jest quizem. Jeśli tak, odpowiedzi są oceniane na podstawie pytania Grading. Jeśli ustawisz wartość Fałsz, całe pytanie Grading zostanie usunięte.

Element

Pojedynczy element formularza. kind określa rodzaj produktu.

Zapis JSON
{
  "itemId": string,
  "title": string,
  "description": string,

  // Union field kind can be only one of the following:
  "questionItem": {
    object (QuestionItem)
  },
  "questionGroupItem": {
    object (QuestionGroupItem)
  },
  "pageBreakItem": {
    object (PageBreakItem)
  },
  "textItem": {
    object (TextItem)
  },
  "imageItem": {
    object (ImageItem)
  },
  "videoItem": {
    object (VideoItem)
  }
  // End of list of possible types for union field kind.
}
Pola
itemId

string

Identyfikator produktu.

Można go podać podczas tworzenia, ale nie można użyć identyfikatora w formularzu. Jeśli identyfikator nie zostanie podany, zostanie przypisany nowy identyfikator.

title

string

Tytuł produktu.

description

string

Opis produktu.

Pole sumy kind. To pole jest wymagane. Rodzaj tego elementu. kind może być tylko jednym z tych elementów:
questionItem

object (QuestionItem)

Zadawanie pytania użytkownikowi.

questionGroupItem

object (QuestionGroupItem)

Zadawanie użytkownikowi co najmniej 1 pytania w odpowiedzi na wiadomość główną.

pageBreakItem

object (PageBreakItem)

Uruchamia nową stronę o nazwie.

textItem

object (TextItem)

Wyświetla tytuł i opis na stronie.

imageItem

object (ImageItem)

Wyświetla obraz na stronie.

videoItem

object (VideoItem)

Wyświetla film na stronie.

QuestionItem

Element formularza zawierający jedno pytanie.

Zapis JSON
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
Pola
question

object (Question)

To pole jest wymagane. Wyświetlane pytanie.

image

object (Image)

Obraz wyświetlany w pytaniu.

Question

Dowolne pytanie. Konkretny typ pytania jest nazywany kind.

Zapis JSON
{
  "questionId": string,
  "required": boolean,
  "grading": {
    object (Grading)
  },

  // Union field kind can be only one of the following:
  "choiceQuestion": {
    object (ChoiceQuestion)
  },
  "textQuestion": {
    object (TextQuestion)
  },
  "scaleQuestion": {
    object (ScaleQuestion)
  },
  "dateQuestion": {
    object (DateQuestion)
  },
  "timeQuestion": {
    object (TimeQuestion)
  },
  "fileUploadQuestion": {
    object (FileUploadQuestion)
  },
  "rowQuestion": {
    object (RowQuestion)
  }
  // End of list of possible types for union field kind.
}
Pola
questionId

string

Tylko do odczytu. Identyfikator pytania.

Można go podać podczas tworzenia, ale nie można użyć identyfikatora w formularzu. Jeśli identyfikator nie zostanie podany, zostanie przypisany nowy identyfikator.

required

boolean

Czy odpowiedź na pytanie jest wymagana, aby użytkownik mógł przesłać swoją odpowiedź.

grading

object (Grading)

Konfiguracja oceniania pytania.

Pole sumy kind. To pole jest wymagane. Rodzaj pytania zaproponowanego użytkownikowi. kind może mieć tylko jedną z tych wartości:
choiceQuestion

object (ChoiceQuestion)

Użytkownik może wybrać jedną ze wstępnie zdefiniowanych opcji.

textQuestion

object (TextQuestion)

Użytkownik może wpisać własną odpowiedź tekstową.

scaleQuestion

object (ScaleQuestion)

Użytkownik może wybrać liczbę z zakresu.

dateQuestion

object (DateQuestion)

Użytkownik może wpisać datę.

timeQuestion

object (TimeQuestion)

Użytkownik może wpisać godzinę.

fileUploadQuestion

object (FileUploadQuestion)

Użytkownik może przesłać jeden lub wiele plików.

rowQuestion

object (RowQuestion)

Wiersz elementu QuestionGroupItem.

ChoiceQuestion

Pytanie z opcjami wyboru lub polem wyboru.

Zapis JSON
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
Pola
type

enum (ChoiceType)

To pole jest wymagane. Rodzaj pytania jednokrotnego wyboru.

options[]

object (Option)

To pole jest wymagane. Lista opcji, które użytkownik musi wybrać.

shuffle

boolean

Określa, czy opcje powinny wyświetlać się w losowej kolejności w przypadku różnych wystąpień testu. Takie działanie jest często stosowane, aby zapobiegać oszustwom przez respondentów, którzy patrzą na ekran innego użytkownika, lub przeciwdziałać stronniczości w ankiecie, która może być wprowadzana przez ustawianie tych samych opcji na początku lub na końcu.

ChoiceType

Typ wyboru.

Wartości w polu enum
CHOICE_TYPE_UNSPECIFIED Wartość domyślna. Nieużywane.
RADIO Przyciski opcji: użytkownik może wybrać tylko jedną z nich.
CHECKBOX Pola wyboru: użytkownik widzi wszystkie opcje, z których może wybrać dowolną liczbę.
DROP_DOWN Menu: wybór jest wyświetlany tylko użytkownikowi na żądanie lub tylko aktualny. Można wybrać tylko jedną opcję.

Option

Opcja dla pytania jednokrotnego wyboru.

Zapis JSON
{
  "value": string,
  "image": {
    object (Image)
  },
  "isOther": boolean,

  // Union field go_to_section can be only one of the following:
  "goToAction": enum (GoToAction),
  "goToSectionId": string
  // End of list of possible types for union field go_to_section.
}
Pola
value

string

To pole jest wymagane. Wybór przedstawiony użytkownikowi.

image

object (Image)

Wyświetl obraz jako opcję.

isOther

boolean

Wskazuje, czy opcja ma wartość „Inne”. Obecnie dotyczy tylko typów wyboru RADIO i CHECKBOX, ale nie jest dozwolone w typie QuestionGroupItem.

Pole sumy go_to_section. Sekcja, do której ma przejść po wybraniu tej opcji. Obecnie ma zastosowanie tylko do wyboru typu RADIO i SELECT, ale nie jest dozwolony w typie QuestionGroupItem. go_to_section może mieć tylko jedną z tych wartości:
goToAction

enum (GoToAction)

Typ nawigacji po sekcji.

goToSectionId

string

Identyfikator elementu z nagłówka sekcji, do którego prowadzi.

GoToAction

Stałe do nawigacji po sekcjach.

Wartości w polu enum
GO_TO_ACTION_UNSPECIFIED Wartość domyślna. Nieużywane.
NEXT_SECTION Przejdź do następnej sekcji.
RESTART_FORM Wróć do początku formularza.
SUBMIT_FORM Prześlij formularz natychmiast.

Obraz

Dane przedstawiające obraz.

Zapis JSON
{
  "contentUri": string,
  "altText": string,
  "properties": {
    object (MediaProperties)
  },

  // Union field image_source can be only one of the following:
  "sourceUri": string
  // End of list of possible types for union field image_source.
}
Pola
contentUri

string

Tylko dane wyjściowe. Identyfikator URI, z którego można pobrać obraz. Jest on ważny tylko przez ograniczony czas.

altText

string

Opis obrazu wyświetlany po najechaniu kursorem i odczytywany przez czytniki ekranu.

properties

object (MediaProperties)

Właściwości obrazu.

Pole sumy image_source. Rodzaj źródła obrazu. Podczas tworzenia nowych obrazów należy ustawić dokładnie jedno pole źródłowe. image_source może mieć tylko jedną z tych wartości:
sourceUri

string

Tylko dane wejściowe. Źródłowy identyfikator URI to identyfikator URI używany do wstawienia obrazu. Źródłowy identyfikator URI może być pusty po pobraniu.

MediaProperties

Właściwości multimediów.

Zapis JSON
{
  "alignment": enum (Alignment),
  "width": integer
}
Pola
alignment

enum (Alignment)

Pozycja multimediów.

width

integer

Szerokość multimediów w pikselach. Podczas wyświetlania multimediów są one skalowane do mniejszej wartości lub do szerokości wyświetlanego formularza. Oryginalny format obrazu zostanie zachowany. Jeśli szerokość nie jest określona podczas dodawania multimediów do formularza, jest ona ustawiana na szerokość źródła multimediów. Szerokość musi mieścić się w zakresie od 0 do 740 włącznie. Ustawienie szerokości na 0 lub nieokreślonej wartości jest dozwolone tylko podczas aktualizowania źródła multimediów.

Wyrównanie

Wyrównanie na stronie.

Wartości w polu enum
ALIGNMENT_UNSPECIFIED Wartość domyślna. Nieużywane.
LEFT Wyrównaj do lewej.
RIGHT Wyrównaj do prawej.
CENTER Na środku.

TextQuestion

Pytanie tekstowe.

Zapis JSON
{
  "paragraph": boolean
}
Pola
paragraph

boolean

Określa, czy pytanie jest akapitem czy nie. W przeciwnym razie jest to krótkie pytanie tekstowe.

ScaleQuestion

Pytanie dot. skali. Użytkownik ma do wyboru zakres wartości liczbowych.

Zapis JSON
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
Pola
low

integer

To pole jest wymagane. Najniższa możliwa wartość dla skali.

high

integer

To pole jest wymagane. Najwyższa możliwa wartość dla skali.

lowLabel

string

Etykieta do wyświetlenia opisująca najniższy punkt skali.

highLabel

string

Etykieta do wyświetlenia opisująca najwyższy punkt na skali.

DateQuestion

Pytanie dotyczące daty. Pytania dotyczące dat domyślnie podają tylko miesiąc i dzień.

Zapis JSON
{
  "includeTime": boolean,
  "includeYear": boolean
}
Pola
includeTime

boolean

Czy uwzględnić czas w pytaniu.

includeYear

boolean

Czy dodać rok do pytania.

TimeQuestion

Pytanie o czas.

Zapis JSON
{
  "duration": boolean
}
Pola
duration

boolean

true, jeśli pytanie dotyczy czasu, który upłynął. W przeciwnym razie chodzi o porę dnia.

FileUploadQuestion

Pytanie z możliwością przesyłania plików. Interfejs API obecnie nie obsługuje tworzenia pytań z możliwością przesyłania plików.

Zapis JSON
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
Pola
folderId

string

To pole jest wymagane. Identyfikator folderu na Dysku, w którym są przechowywane przesłane pliki.

types[]

enum (FileType)

Typy plików akceptowane w tym pytaniu.

maxFiles

integer

Maksymalna liczba plików, które można przesłać w jednej odpowiedzi na to pytanie.

maxFileSize

string (int64 format)

Maksymalna dozwolona liczba bajtów w przypadku pojedynczego pliku przesłanego do tego pytania.

FileType

Typy plików, które można przesłać do pytania z możliwością przesyłania plików.

Wartości w polu enum
FILE_TYPE_UNSPECIFIED Wartość domyślna. Nieużywane.
ANY Brak ograniczeń typu.
DOCUMENT Dokument Google.
PRESENTATION Prezentacja w Prezentacjach Google.
SPREADSHEET Arkusz kalkulacyjny Arkuszy Google.
DRAWING Rysunek.
PDF Plik PDF.
IMAGE Obraz.
VIDEO Film.
AUDIO Plik audio.

RowQuestion

Konfiguracja pytania należącego do grupy pytań.

Zapis JSON
{
  "title": string
}
Pola
title

string

To pole jest wymagane. Tytuł pojedynczego wiersza w kolumnie QuestionGroupItem.

Ocenianie

Ocenianie jednego pytania

Zapis JSON
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
Pola
pointValue

integer

To pole jest wymagane. Maksymalna liczba punktów, które użytkownik może automatycznie otrzymać za poprawną odpowiedź. Ta wartość nie może być liczbą ujemną.

correctAnswers

object (CorrectAnswers)

To pole jest wymagane. Klucz odpowiedzi na pytanie. Odpowiedzi są oceniane automatycznie na podstawie tego pola.

whenRight

object (Feedback)

Komentarze wyświetlane przy poprawnych odpowiedziach. Tę opinię można skonfigurować tylko dla pytań jednokrotnego wyboru z prawidłowymi odpowiedziami.

whenWrong

object (Feedback)

Komentarz wyświetlany w przypadku nieprawidłowych odpowiedzi. Tę opinię można skonfigurować tylko dla pytań jednokrotnego wyboru z prawidłowymi odpowiedziami.

generalFeedback

object (Feedback)

Opinia wyświetlana przy wszystkich odpowiedziach. Tego formatu często używa się w przypadku pytań z krótką odpowiedzią, gdy właściciel testu chce szybko dać użytkownikom poczucie, że odpowiedzieli na pytanie prawidłowo, zanim oficjalnie ocenią odpowiedź. W przypadku automatycznie ocenianych pytań jednokrotnego wyboru nie można dodać opinii ogólnej.

CorrectAnswers

Klucz odpowiedzi na pytanie.

Zapis JSON
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
Pola
answers[]

object (CorrectAnswer)

Lista poprawnych odpowiedzi. Na podstawie tych odpowiedzi odpowiedzi na pytania mogą być automatycznie oceniane. W przypadku pytań jednowartościowych odpowiedź jest oznaczana jako prawidłowa, jeśli pasuje do którejkolwiek wartości z tej listy (inaczej mówiąc, może być kilka poprawnych odpowiedzi). W przypadku pytań wielowartościowych (CHECKBOX) odpowiedź jest oznaczana jako prawidłowa, jeśli zawiera dokładnie takie same wartości z tej listy.

CorrectAnswer

Jedna poprawna odpowiedź na pytanie. W przypadku pytań wielowartościowych (CHECKBOX) do określenia jednej prawidłowej opcji odpowiedzi można potrzebować kilku elementów CorrectAnswer.

Zapis JSON
{
  "value": string
}
Pola
value

string

To pole jest wymagane. Prawidłowa wartość odpowiedzi. Szczegółowe informacje o formatowaniu różnych typów wartości znajdziesz w dokumentacji właściwości TextAnswer.value.

QuestionGroupItem

Definiuje pytanie składające się z kilku pytań zgrupowanych.

Zapis JSON
{
  "questions": [
    {
      object (Question)
    }
  ],
  "image": {
    object (Image)
  },

  // Union field kind can be only one of the following:
  "grid": {
    object (Grid)
  }
  // End of list of possible types for union field kind.
}
Pola
questions[]

object (Question)

To pole jest wymagane. Lista pytań należących do tej grupy. Pytanie może należeć tylko do jednej grupy. Ustawienie kind grupy może mieć wpływ na dozwolone typy pytań.

image

object (Image)

Obraz wyświetlany w grupie pytań nad konkretnymi pytaniami.

Pole sumy kind. To pole jest wymagane. Rodzaj grupy pytań, który określa, jakie typy pytań są dozwolone i w jaki sposób są one wyświetlane. kind może mieć tylko jedną z tych wartości:
grid

object (Grid)

Grupa pytań jest siatką z wierszami pytań jednokrotnego wyboru, które zawierają te same opcje. Jeśli zasada grid jest skonfigurowana, wszystkie pytania w grupie muszą mieć rodzaj row.

Siatka

Siatka odpowiedzi (pole wyboru lub pola wyboru), przy czym każdy wiersz odpowiada osobnemu pytaniu. Każdy wiersz zawiera te same opcje, które są widoczne jako kolumny.

Zapis JSON
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
Pola
columns

object (ChoiceQuestion)

To pole jest wymagane. Opcje wspólne dla każdego pytania w siatce. Inaczej mówiąc, wartości kolumn. Dozwolone są tylko opcje CHECK_BOX i RADIO.

shuffleQuestions

boolean

Jeśli wybierzesz true, pytania są uporządkowane w losowej kolejności. Innymi słowy, wiersze wyświetlają się w innej kolejności dla każdego użytkownika.

PageBreakItem

Podział strony. Tytuł i opis tego elementu są wyświetlane u góry nowej strony.

TextItem

Element tekstowy.

ImageItem

Element zawierający obraz.

Zapis JSON
{
  "image": {
    object (Image)
  }
}
Pola
image

object (Image)

To pole jest wymagane. Obraz wyświetlany w elemencie.

VideoItem

Element zawierający film.

Zapis JSON
{
  "video": {
    object (Video)
  },
  "caption": string
}
Pola
video

object (Video)

To pole jest wymagane. Film wyświetlany w elemencie.

caption

string

Tekst wyświetlany pod filmem.

Wideo

Dane reprezentujące film.

Zapis JSON
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
Pola
youtubeUri

string

To pole jest wymagane. Identyfikator URI YouTube.

properties

object (MediaProperties)

Właściwości filmu.

Metody

batchUpdate

Wprowadź zmiany w formularzu partiami aktualizacji.

create

Utwórz nowy formularz, korzystając z tytułu podanego w wiadomości w formularzu.

get

Pobierz formularz.