REST Resource: forms

Zasób: formularz

dokument w Formularzach Google, Formularz jest tworzony na Dysku, a jego usuwanie lub zmiana ustawień ochrony 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,
  "publishSettings": {
    object (PublishSettings)
  }
}
Pola
formId

string

Tylko dane wyjściowe. Identyfikator formularza.

info

object (Info)

Wymagane. Tytuł i opis formularza.

settings

object (FormSettings)

Ustawienia formularza. Musisz zaktualizować ten parametr do wartości UpdateSettingsRequest; jest on ignorowany podczas forms.createUpdateFormInfoRequest.

items[]

object (Item)

Wymagane. Lista elementów formularza, która może zawierać nagłówki sekcji, pytania, osadzone multimedia itp.

revisionId

string

Tylko dane wyjściowe. Identyfikator wersji formularza. Używany w prośbach o aktualizację w polu WriteControl do identyfikowania wersji, na której bazują zmiany.

Format identyfikatora wersji może się z czasem zmieniać, dlatego należy traktować go jako nieprzezroczysty. Zwrócony identyfikator wersji jest gwarantowany tylko przez 24 godziny od momentu jego zwrotu i nie może być udostępniany innym użytkownikom. Jeśli identyfikator poprawki nie zmienia się między wywołaniami, oznacza to, że treść formularza nie uległa zmianie. Zmiana identyfikatora (w przypadku tego samego formularza i użytkownika) zwykle oznacza, że zawartość formularza została zaktualizowana. Zmiana identyfikatora może być też spowodowana czynnikami wewnętrznymi, takimi jak zmiany formatu identyfikatora.

Treść formularza nie obejmuje metadanych formularza, w tym:

  • ustawienia udostępniania (kto ma dostęp do formularza);
  • publishSettings (jeśli formularz obsługuje publikowanie i został opublikowany)
responderUri

string

Tylko dane wyjściowe. Identyfikator URI formularza do udostępnienia użytkownikom. Spowoduje to otwarcie strony, na której użytkownik może przesłać odpowiedzi, ale nie może edytować pytań. W przypadku formularzy, dla których ustawiono wartość publishSettings, jest to identyfikator URI opublikowanego formularza.

linkedSheetId

string

Tylko dane wyjściowe. Identyfikator powiązanego arkusza Google, w którym gromadzone są odpowiedzi z tego formularza (jeśli taki arkusz istnieje).

publishSettings

object (PublishSettings)

Tylko dane wyjściowe. Ustawienia publikowania formularza. To pole nie jest ustawione w przypadku starszych formularzy, ponieważ nie mają one pola publishSettings. Wszystkie nowo utworzone formularze obsługują ustawienia publikacji.

Formularze z ustawioną wartością publishSettings mogą wywoływać interfejs API forms.setPublishSettings, aby opublikować lub wycofać publikację formularza.

Informacje

Ogólne informacje o formularzu.

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

string

Wymagane. Tytuł formularza widoczny dla odpowiadających.

documentTitle

string

Tylko dane wyjściowe. Tytuł dokumentu widocznego na Dysku. Jeśli Info.title jest pusty, w interfejsie Formularzy Google może pojawić się documentTitle i być widoczny dla respondentów. Wartość documentTitle można ustawić podczas tworzenia, ale nie można jej zmienić za pomocą żądania batchUpdate. Jeśli chcesz zaktualizować documentTitle za pomocą kodu, użyj interfejsu Google Drive API.

description

string

Opis formularza.

FormSettings

Ustawienia formularza.

Zapis JSON
{
  "quizSettings": {
    object (QuizSettings)
  },
  "emailCollectionType": enum (EmailCollectionType)
}
Pola
quizSettings

object (QuizSettings)

Ustawienia związane z formularzami testów i ocenianiem.

emailCollectionType

enum (EmailCollectionType)

Opcjonalnie. Ustawienie określające, czy formularz ma zbierać adresy e-mail respondentów.

QuizSettings

Ustawienia związane z formularzami testów i ocenianiem. Należy je zaktualizować za pomocą UpdateSettingsRequest.

Zapis JSON
{
  "isQuiz": boolean
}
Pola
isQuiz

boolean

Czy formularz jest testem. Jeśli jest ustawiona na wartość Prawda, odpowiedzi są oceniane na podstawie pytania Grading. Gdy ustawisz wartość na Fałsz, wszystkie pytania Grading zostaną usunięte.

EmailCollectionType

Opcjonalnie. Ustawienie określające, czy formularz zbiera adresy e-mail respondentów i w jaki sposób je zbiera. Jeśli formularz zbiera adresy e-mail, wartości są wypełniane w polu formResponse.respondentEmail.

Wartości w polu enum
EMAIL_COLLECTION_TYPE_UNSPECIFIED Nie określono. Ta wartość nie jest używana.
DO_NOT_COLLECT Formularz nie zbiera adresów e-mail. Wartość domyślna, jeśli właściciel formularza korzysta z konta Google.
VERIFIED Formularz automatycznie zbiera adresy e-mail na podstawie konta zalogowanego użytkownika. Wartość domyślna, jeśli właściciel formularza używa konta Google Workspace.
RESPONDER_INPUT Formularz zbiera adresy e-mail za pomocą pola, które respondent wypełnia w formularzu.

Element

Pojedynczy element formularza. kind określa, jakiego rodzaju jest to element.

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że być już używany w formularzu. Jeśli nie podasz identyfikatora, zostanie przypisany nowy identyfikator.

title

string

Nazwa produktu.

description

string

Opis elementu.

Pole unii kind. Wymagane. Rodzaj produktu. kind może być tylko jednym z tych obiektów:
questionItem

object (QuestionItem)

Użytkownik zostaje zapytany o coś.

questionGroupItem

object (QuestionGroupItem)

Zadaje użytkownikowi co najmniej 1 pytanie za pomocą jednego prompta głównego.

pageBreakItem

object (PageBreakItem)

rozpoczyna nową stronę z tytułem.

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)

Wymagane. Wyświetlone pytanie.

image

object (Image)

Obraz wyświetlany w pytaniu.

Pytanie

Masz pytania? Konkretny typ pytania można rozpoznać po 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)
  },
  "ratingQuestion": {
    object (RatingQuestion)
  }
  // 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że być już używany w formularzu. Jeśli nie podasz identyfikatora, zostanie przypisany nowy identyfikator.

required

boolean

Czy pytanie musi zostać wypełnione, aby respondent mógł przesłać odpowiedź.

grading

object (Grading)

Konfiguracja oceniania pytania.

Pole unii kind. Wymagane. Typ pytania zadanego respondentowi. kind może być tylko jednym z tych elementów:
choiceQuestion

object (ChoiceQuestion)

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

textQuestion

object (TextQuestion)

Użytkownik może wpisać odpowiedź w formie tekstu.

scaleQuestion

object (ScaleQuestion)

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

dateQuestion

object (DateQuestion)

Respondent can enter a date.

timeQuestion

object (TimeQuestion)

Użytkownik może podać godzinę.

fileUploadQuestion

object (FileUploadQuestion)

Respondent może przesłać co najmniej 1 plik.

rowQuestion

object (RowQuestion)

Wiersz w tabeli QuestionGroupItem.

ratingQuestion

object (RatingQuestion)

Respondent może wybrać ocenę z wstępnie zdefiniowanego zestawu ikon.

ChoiceQuestion

pytanie z opcjami wyboru w formie przycisków, pól wyboru lub menu.

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

enum (ChoiceType)

Wymagane. Typ pytania z wyborem.

options[]

object (Option)

Wymagane. Lista opcji, spośród których respondent musi wybrać jedną.

shuffle

boolean

Określa, czy opcje mają być wyświetlane w losowej kolejności w różnych instancjach quizu. Jest to często wykorzystywane, aby zapobiec oszustwom ze strony respondentów, którzy mogliby podglądać na ekran innego uczestnika ankiety, lub aby wyeliminować stronniczość w ankiecie, która może wystąpić, gdy te same opcje są zawsze podawane jako pierwsze lub ostatnie.

ChoiceType

Typ wyboru.

Wartości w polu enum
CHOICE_TYPE_UNSPECIFIED Wartość domyślna. Nieużywane.
RADIO Przyciski opcji: użytkownik widzi wszystkie opcje i może wybrać tylko jedną z nich.
CHECKBOX Pola wyboru: użytkownikowi wyświetlają się wszystkie opcje, z których może wybrać dowolną liczbę.
DROP_DOWN Menu: opcje są wyświetlane użytkownikowi tylko na żądanie, w przeciwnym razie widoczna jest tylko bieżąca opcja. Możesz wybrać tylko jedną opcję.

Opcja

Opcja w pytaniu z wyborem.

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

Wymagane. Wybór przedstawiony użytkownikowi.

image

object (Image)

Wyświetlanie obrazu jako opcji.

isOther

boolean

Określa, czy opcja jest „inna”. Obecnie dotyczy to tylko typów wyboru RADIOCHECKBOX, ale nie jest dozwolone w przypadku typu QuestionGroupItem.

Pole unii go_to_section. Sekcja, do której przejdziesz, jeśli wybierzesz tę opcję. Obecnie dotyczy to tylko typów wyboru RADIOSELECT, ale nie jest dozwolone w przypadku typu QuestionGroupItem. go_to_section może być tylko jednym z tych elementów:
goToAction

enum (GoToAction)

Typ nawigacji w sekcji.

goToSectionId

string

Identyfikator elementu w nagłówku sekcji, do którego chcesz przejść.

GoToAction

Stałe wartości dotyczące nawigacji po sekcji.

Wartości w polu enum
GO_TO_ACTION_UNSPECIFIED Wartość domyślna. Nieużywane.
NEXT_SECTION Przejdź do następnej sekcji.
RESTART_FORM Wróć na początek formularza.
SUBMIT_FORM Wyślij formularz od razu.

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, który jest wyświetlany po najechaniu kursorem i odczytywany przez czytniki ekranu.

properties

object (MediaProperties)

Właściwości obrazu.

Pole unii image_source. Rodzaj źródła obrazu. Podczas tworzenia nowych obrazów musisz ustawić dokładnie 1 pole źródła obrazu. image_source może być tylko jednym z tych elementów:
sourceUri

string

Tylko dane wejściowe. Identyfikator URI źródła to identyfikator URI użyty do wstawienia obrazu. Identyfikator URI źródła może być pusty podczas pobierania.

MediaProperties

Właściwości multimediów.

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

enum (Alignment)

Pozycja mediów.

width

integer

Szerokość multimediów w pikselach. Gdy multimedium jest wyświetlane, jest ono skalowane do mniejszej wartości lub szerokości wyświetlanego formularza. Oryginalny współczynnik proporcji multimediów jest zachowany. Jeśli podczas dodawania multimediów do formularza nie podasz szerokości, zostanie ona ustawiona 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śloną 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ównanie do lewej.
RIGHT Wyrównanie do prawej.
CENTER Na środku.

TextQuestion

Pytanie tekstowe.

Zapis JSON
{
  "paragraph": boolean
}
Pola
paragraph

boolean

czy pytanie jest pytaniem z tekstem. W przeciwnym razie jest to krótkie pytanie tekstowe.

ScaleQuestion

Pytanie z wyborem odpowiedzi na skali. Użytkownik ma do wyboru zakres wartości liczbowych.

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

integer

Wymagane. Najniższa możliwa wartość na skali.

high

integer

Wymagane. Najwyższa możliwa wartość na skali.

lowLabel

string

Etykieta wyświetlana w opisie najniższego punktu na skali.

highLabel

string

Etykieta wyświetlana jako opis najwyższego punktu na skali.

DateQuestion

Pytanie dotyczące daty. Domyślnie pytania dotyczące daty mają tylko miesiąc i dzień.

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

boolean

Czy podać godzinę w pytaniu.

includeYear

boolean

Określ, czy w pytaniu ma być uwzględniony rok.

TimeQuestion

Pytanie dotyczące czasu.

Zapis JSON
{
  "duration": boolean
}
Pola
duration

boolean

true, jeśli pytanie dotyczy upływu czasu. W przeciwnym razie chodzi o porę dnia.

FileUploadQuestion

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

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

string

Wymagane. Identyfikator folderu Dysku, w którym są przechowywane przesłane pliki.

types[]

enum (FileType)

Typy plików akceptowane przez to pytanie.

maxFiles

integer

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

maxFileSize

string (int64 format)

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

FileType

Typy plików, które można przesłać w odpowiedzi na pytanie dotyczące przesyłania plików.

Wartości w polu enum
FILE_TYPE_UNSPECIFIED Wartość domyślna. Nieużywane.
ANY Brak ograniczeń dotyczących typu.
DOCUMENT dokument w Dokumentach Google,
PRESENTATION prezentację w Prezentacjach Google,
SPREADSHEET arkusz kalkulacyjny w Arkuszach Google,
DRAWING rysunek,
PDF Plik PDF.
IMAGE obraz,
VIDEO film,
AUDIO Plik audio.

RowQuestion

Konfiguracja pytania, które należy do grupy pytań.

Zapis JSON
{
  "title": string
}
Pola
title

string

Wymagane. Tytuł pojedynczego wiersza w tabeli QuestionGroupItem.

RatingQuestion

pytanie dotyczące oceny, Użytkownik ma do wyboru kilka ikon.

Zapis JSON
{
  "ratingScaleLevel": integer,
  "iconType": enum (RatingIconType)
}
Pola
ratingScaleLevel

integer

Wymagane. Poziom skali ocen pytania dotyczącego oceny.

iconType

enum (RatingIconType)

Wymagane. Typ ikony używany do oceny.

RatingIconType

Typ ikony używanej do oceny.

Wartości w polu enum
RATING_ICON_TYPE_UNSPECIFIED Wartość domyślna. Nieużywane.
STAR Ikona gwiazdki.
HEART Ikona serca
THUMB_UP Ikona kciuka w dół.

Ocenianie

Ocenianie pojedynczego pytania

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

integer

Wymagane. Maksymalna liczba punktów, jaką respondent może automatycznie uzyskać za poprawną odpowiedź. Nie może być ujemna.

correctAnswers

object (CorrectAnswers)

Wymagane. Klucz odpowiedzi do pytania. Odpowiedzi są automatycznie oceniane na podstawie tego pola.

whenRight

object (Feedback)

Informacje wyświetlane w przypadku prawidłowych odpowiedzi. Ta informacja zwrotna może być ustawiona tylko w przypadku pytań wielokrotnego wyboru, które mają podane prawidłowe odpowiedzi.

whenWrong

object (Feedback)

Opinia wyświetlana w przypadku nieprawidłowych odpowiedzi. Ta opinia może być ustawiona tylko w przypadku pytań wielokrotnego wyboru, które mają podane prawidłowe odpowiedzi.

generalFeedback

object (Feedback)

Opinia wyświetlana przy wszystkich odpowiedziach. Jest to często używane w przypadku pytań z krótką odpowiedzią, gdy właściciel quizu chce szybko poinformować respondentów, czy ich odpowiedź jest poprawna, zanim będzie można ją oficjalnie ocenić. W przypadku pytań jednokrotnego wyboru ocenianych automatycznie nie można ustawić ogólnej informacji zwrotnej.

CorrectAnswers

Klucz odpowiedzi do pytania.

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

object (CorrectAnswer)

lista poprawnych odpowiedzi; Odpowiedzi na quiz mogą być oceniane automatycznie na podstawie tych odpowiedzi. W przypadku pytań z jedną wartością odpowiedź jest uznawana za prawidłową, jeśli pasuje do dowolnej wartości na liście (czyli możliwe są liczne prawidłowe odpowiedzi). W przypadku pytań z wieloma wartościami (CHECKBOX) odpowiedź jest uznawana za prawidłową, jeśli zawiera dokładnie te wartości z listy.

CorrectAnswer

Pojedyncza prawidłowa odpowiedź na pytanie. W przypadku pytań z wieloma wartościami (CHECKBOX) może być konieczne podanie kilku CorrectAnswer, aby reprezentowały jedną prawidłową odpowiedź.

Zapis JSON
{
  "value": string
}
Pola
value

string

Wymagane. Wartość prawidłowej odpowiedzi. Szczegółowe informacje o formatowaniu różnych typów wartości znajdziesz w dokumentacji TextAnswer.value.

QuestionGroupItem

Definiuje pytanie, które składa się z kilku pytań zgrupowanych razem.

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)

Wymagane. Lista pytań należących do tej grupy pytań. Pytanie może należeć tylko do jednej grupy. kind grupy może wpływać na to, jakie typy pytań są dozwolone.

image

object (Image)

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

Pole unii kind. Wymagane. Typ grupy pytań, który określa, jakie typy pytań są dozwolone i jak są wyświetlane. kind może być tylko jednym z tych elementów:
grid

object (Grid)

Grupa pytań to siatka z wierszami pytań jednokrotnego wyboru, które mają te same opcje. Gdy ustawisz wartość grid, wszystkie pytania w grupie muszą być typu row.

Siatka

Siatka opcji (opcji wyboru lub pól wyboru), w której każdy wiersz stanowi osobne pytanie. Każdy wiersz ma te same opcje, które są wyświetlane jako kolumny.

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

object (ChoiceQuestion)

Wymagane. opcje wspólne dla każdego pytania w siatce; Innymi słowy, wartości kolumn. Dozwolone są tylko opcje CHECK_BOX i RADIO.

shuffleQuestions

boolean

Jeśli true, pytania są uporządkowane losowo. Inaczej mówiąc, wiersze pojawiają się w różnej kolejności u każdego respondenta.

PageBreakItem

Ten typ nie ma pól.

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

TextItem

Ten typ nie ma pól.

Element tekstowy.

ImageItem

Element zawierający obraz.

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

object (Image)

Wymagane. Obraz wyświetlany w elemencie.

VideoItem

Element zawierający film.

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

object (Video)

Wymagane. Film wyświetlany w produkcie.

caption

string

Tekst wyświetlany pod filmem.

Wideo

Dane reprezentujące film.

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

string

Wymagane. Identyfikator URI YouTube.

properties

object (MediaProperties)

Właściwości filmu.

PublishSettings

Ustawienia publikowania formularza.

Zapis JSON
{
  "publishState": {
    object (PublishState)
  }
}
Pola
publishState

object (PublishState)

Opcjonalnie. Stan publikacji formularza.

Podczas aktualizowania wartości publishState należy ustawić wartości isPublished i isAcceptingResponses. Ustawienie wartości isAcceptingResponses na true i wartości isPublished na false nie jest jednak obsługiwane i powoduje błąd.

PublishState

Stan publikacji formularza.

Zapis JSON
{
  "isPublished": boolean,
  "isAcceptingResponses": boolean
}
Pola
isPublished

boolean

Wymagane. czy formularz jest opublikowany i widoczny dla innych.

isAcceptingResponses

boolean

Wymagane. czy formularz przyjmuje odpowiedzi. Jeśli isPublished ma wartość false, to pole jest ustawiane na false.

Metody

batchUpdate

Zmień formularz za pomocą aktualizacji zbiorczej.

create

Utwórz nowy formularz, używając tytułu podanego w zawartej w prośbie wiadomości formularza.

get

Pobierz formularz.

setPublishSettings

Zmień ustawienia publikowania formularza.