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 formularzy i testów
  • 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 w Formularzach Google utworzony i zapisany na Dysku. Każdy formularz jest reprezentowany przez zasób Form i ma niepowtarzalną wartość formId, która zawiera litery, cyfry, łączniki lub 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
Liczba punktów, 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 Element. 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. zmiany w pytaniach) lub odpowiedziach w formularzu i wysyła powiadomienie push, gdy nastąpi zmiana. Zasób Watch.

Struktura formularza

Podczas zarządzania formularzami i testami może być trudno zrozumieć, jak określać różne pola, ponieważ wiele obiektów formularza może być zagnieżdżonych w sposób różny. 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 fragmentowi kodu 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

  • Aby dowiedzieć się więcej o tworzeniu aplikacji przy użyciu interfejsów Google Workspace API, w tym o obsłudze uwierzytelniania i autoryzacji, zapoznaj się z artykułem Pierwsze kroki jako deweloper Workspace.
  • Aby dowiedzieć się, jak skonfigurować i uruchomić prostą aplikację korzystającą z interfejsu Forms API, przeczytaj artykuł Omówienie samouczków.