Przegląd

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ć ustawienie isQuiz w istniejącym formularzu na true.

Ocenianie
Wartość punktowa, klucz odpowiedzi i informacje zwrotne dotyczące pytania, stosowane, gdy isQuiz to true. Zasób Grading.
Prześlij opinię
Odpowiedź udzielona użytkownikowi końcowemu na pytanie w teście, reprezentowana przez zasób Feedback.
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.