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
  • Odczytywanie 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 unikalną wartość formId, która zawiera litery, cyfry, łączniki lub podkreśleń. Identyfikator formularza znajdziesz w adresie URL Formularza Google:

https://docs.google.com/forms/d/FORM_ID/edit

Test

Konkretny typ dokumentu w Formularzach Google, który umożliwia ocenianie odpowiedzi z formularza z kluczem odpowiedzi. Test można utworzyć tylko przy użyciu: batchUpdate() zmiany ustawienia 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.
Element

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

Jedno pytanie w formularzu, reprezentowane przez Question.

Grupa pytań

Grupa pytań, które mają taki sam zestaw możliwych odpowiedzi (na np. siatkę ocen od 1 do 5). Zasób QuestionGroupItem.

Sekcja

Sekcja to sposób na podzielenie formularza na wiele stron i dodanie logiki warunkowej (np. wyświetlanie tylko niektórych pytań na podstawie tego, jak odpowiedzi użytkowników). Sekcje odpowiadają PageBreakItem .

Odpowiedź

odpowiedź użytkownika na pytanie, reprezentowana przez zasób Answer; Zawiera informacje o ocenie (jeśli są dostępne), metadane 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. Reprezentowane przez Watch.

Struktura formularza

Podczas zarządzania formularzami i testami trudno jest 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 może generować Twoja aplikacja. 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ę Formularzy API, przeczytaj Krótkie wprowadzenia