Przegląd

Interfejs Formularzy Google to interfejs RESTowy, który umożliwia tworzenie i modyfikowanie formularzy oraz testów, pobieranie odpowiedzi z formularzy i ocen z testu, konfigurowanie kluczy odpowiedzi z testów z automatycznymi opiniami i otrzymywanie powiadomień push. Typowe zastosowania tego interfejsu API to:

  • Tworzenie formularza lub testu
  • Aktualizowanie formularza lub testu
  • Pobieranie odpowiedzi z formularza lub testu
  • Odczytywanie treści i metadanych formularza
  • Konfigurowanie i odbieranie powiadomień push

Poniżej znajduje się lista popularnych terminów używanych w interfejsie Formularzy 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 Formularzy Google:

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

Test

Specjalny typ dokumentu Formularzy Google, który umożliwia ocenianie odpowiedzi z formularza na podstawie klucza odpowiedzi. Test można utworzyć tylko przy użyciu metody batchUpdate(), która zmienia ustawienie isQuiz w istniejącym formularzu na true.

Ocenianie
Wartość punktowa, klucz odpowiedzi i opinia na temat pytania stosowane, gdy isQuiz ma wartość true. Reprezentowane przez zasób Grading.
Przesyłanie opinii
Odpowiedź udzielana użytkownikowi podczas odpowiadania na pytanie w quizie. Jest reprezentowana przez zasób Feedback.
Element

Pojedynczy element w formularzu reprezentowany przez zasób Item. Item to powtarzający się element, który może zawierać sekcję, grupę pytań, pytanie, tekst, obraz lub film.

Pytanie

Jedno pytanie w formularzu reprezentowane przez zasób Question.

Grupa pytań

Grupa pytań, które mają taki sam zestaw możliwych odpowiedzi (np. siatka ocen od 1 do 5). Reprezentowane przez zasób QuestionGroupItem.

Sekcja

Sekcja pozwala podzielić formularz na kilka stron i dodać do niego logikę warunkową (np. wyświetlając tylko określone pytania w zależności od odpowiedzi użytkownika). Sekcje odpowiadają zasobowi PageBreakItem.

Odpowiedź

Odpowiedź użytkownika na pytanie przedstawiona w zasobie Answer. Zawiera informacje o ocenie (jeśli są dostępne), metadane i treść odpowiedzi.

Odpowiedź

Przesłanie formularza przez użytkownika reprezentowanego 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. Reprezentowane przez 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 wizualna reprezentacja formularza jest mapowana na pola, zalecamy utworzenie w interfejsie użytkownika kilku przykładowych formularzy, które może generować Twoja aplikacja. Następnie pobierz odpowiedni plik JSON za pomocą metody forms.get(), aby móc porównać dane. 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