Interfejs Google Forms API to interfejs w formacie REST, który umożliwia tworzenie i modyfikowanie formularzy oraz testów, pobieranie odpowiedzi na pytania i ocen z testów, konfigurowanie kluczy odpowiedzi z automatycznym podsumowaniem oraz otrzymywanie powiadomień push. Najczęstsze zastosowania tego interfejsu API obejmują te zadania:
- Tworzenie formularza lub testu
- Aktualizowanie formularza lub testu
- Pobieranie odpowiedzi z formularza lub testu
- Czytanie treści i metadanych formularza
- Konfigurowanie i odbieranie powiadomień push
Poniżej znajdziesz listę typowych terminów używanych w interfejsie Forms API:
- Formularz
Dokument z Formularzy Google utworzony i zapisany na Dysku. Każdy formularz jest reprezentowany przez zasób
Form
i ma unikalną wartośćformId
, która zawiera litery, cyfry, łączniki i podkreślenia. Identyfikator formularza znajdziesz w adresie URL formularza w Google Forms:https://docs.google.com/forms/d/FORM_ID/edit
- Test
Konkretny typ dokumentu w Formularzach Google, który umożliwia ocenianie odpowiedzi w formularzu na podstawie klucza odpowiedzi. Test można utworzyć tylko za pomocą metody
batchUpdate()
, aby zaktualizować ustawienieisQuiz
w istniejącym formularzu natrue
.- Produkt
Pojedynczy element w formularzu reprezentowany przez zasób Item.
Item
to element powtarzalny, który może zawierać sekcję, grupę pytań, pytanie, tekst, obraz lub film.- Pytanie
pojedyncze pytanie w formularzu reprezentowane przez zasób
Question
.- Grupa pytań
Grupa pytań, które mają ten sam zestaw możliwych odpowiedzi (np. siatkę ocen od 1 do 5). Zasób
QuestionGroupItem
.- Sekcja
Sekcja to sposób na podzielenie formularza na kilka stron i dodanie logiki warunkowej (np. wyświetlanie tylko niektórych pytań na podstawie odpowiedzi użytkownika). Sekcje odpowiadają zasobom
PageBreakItem
.- Odpowiedź
odpowiedź użytkownika na pytanie, reprezentowana przez zasób
Answer
; Obejmuje informacje o ocenie (jeśli są dostępne), metadane oraz treść odpowiedzi.- Odpowiedź
Przesłanie formularza przez użytkownika końcowego, reprezentowane przez zasób
FormResponse
.- Oglądaj
Reguła, która śledzi zmiany w schemacie formularza (np. edycja pytań) lub przesłane odpowiedzi w formularzu i wysyła powiadomienie push, gdy zmiana nastąpi. Zasób
Watch
.
Struktura formularza
Znajomość sposobu określania różnych pól podczas zarządzania formularzami i testami może być skomplikowana, ponieważ wiele obiektów formularzy można zagnieździć w innych miejscach na wiele sposobów. Aby zobaczyć, jak wizualizacja formularza odpowiada poszczególnym elementom, zalecamy użycie interfejsu użytkownika do utworzenia kilku przykładowych formularzy, które Twoja aplikacja może wygenerować. Następnie pobierz odpowiedni plik JSON, używając metody forms.get()
, aby można było dokonać porównania. Na przykład ten przykładowy test odpowiada temu kodowi JSON:
{
"formId": "FORM_ID",
"info": {
"title": "Famous Black Women",
"description": "Please complete this quiz based off of this week's readings for class.",
"documentTitle": "API Example Quiz"
},
"settings": {
"quizSettings": {
"isQuiz": true
}
},
"revisionId": "00000021",
"responderUri": "https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform",
"items": [
{
"itemId": "5d9f9786",
"imageItem": {
"image": {
"contentUri": "DIRECT_URL",
"properties": {
"alignment": "LEFT"
}
}
}
},
{
"itemId": "72b30353",
"title": "Which African American woman authored \"I Know Why the Caged Bird Sings\"?",
"questionItem": {
"question": {
"questionId": "25405d4e",
"required": true,
"grading": {
"pointValue": 2,
"correctAnswers": {
"answers": [
{
"value": "Maya Angelou"
}
]
}
},
"choiceQuestion": {
"type": "RADIO",
"options": [
{
"value": "Maya Angelou"
},
{
"value": "bell hooks"
},
{
"value": "Alice Walker"
},
{
"value": "Roxane Gay"
}
]
}
}
}
},
{
"itemId": "0a4859c8",
"title": "Who was the first Dominican-American woman elected to state office?",
"questionItem": {
"question": {
"questionId": "37fff47a",
"grading": {
"pointValue": 2,
"correctAnswers": {
"answers": [
{
"value": "Grace Diaz"
}
]
}
},
"choiceQuestion": {
"type": "RADIO",
"options": [
{
"value": "Rosa Clemente"
},
{
"value": "Grace Diaz"
},
{
"value": "Juana Matias"
},
{
"value": "Sabrina Matos"
}
]
}
}
}
}
]
}
Dalsze kroki
- Więcej informacji o programowaniu z użyciem interfejsów Google Workspace API, w tym o obsłudze uwierzytelniania i autoryzacji, znajdziesz w artykule Pierwsze kroki jako programista Workspace.
- Aby dowiedzieć się, jak skonfigurować i uruchomić prostą aplikację korzystającą z interfejsu Forms API, przeczytaj artykuł Omówienie samouczków.