Opis

Interfejs API Formularzy Google to interfejs RESTowy, który pozwala tworzyć i modyfikować formularze oraz testy, pobierać odpowiedzi z testów i oceny testów, konfigurować klucze odpowiedzi w quizach przy użyciu automatycznych opinii oraz otrzymywać powiadomienia push. Najczęstsze zastosowania tego interfejsu API to:

  • Tworzenie formularzy i testów
  • Aktualizowanie formularza lub testu
  • Pobieranie odpowiedzi z formularza lub quizu
  • Odczytywanie zawartości i metadanych formularza
  • Konfigurowanie i otrzymywanie powiadomień push

Poniżej znajduje się lista popularnych terminów używanych w interfejsie API Formularzy:

Formularz

Dokument Formularzy 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 i podkreślenia. Identyfikator formularza znajdziesz w jego adresie URL:

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

Test

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

Ocenianie
Wartość punktowa, klucz odpowiedzi i komentarze do pytania – stosowane, gdy isQuiz ma wartość true. Reprezentowane przez zasób Grading.
Prześlij opinię
Odpowiedź wyświetlana użytkownikowi, który odpowiada na pytanie w teście, reprezentowany 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 zawierają ten sam zestaw możliwych odpowiedzi (np. siatka ocen w skali od 1 do 5). Reprezentowane przez zasób QuestionGroupItem.

Section

Sekcja pozwala podzielić formularz na wiele stron i dodać logikę warunkową (np. wyświetlanie tylko niektórych pytań w zależności od odpowiedzi użytkownika). Sekcje odpowiadają zasobowi PageBreakItem.

Odpowiedź

Odpowiedź użytkownika na pytanie reprezentowana przez zasób Answer. Obejmuje to zarówno informacje o ocenie (jeśli występują), metadane, jak i treść odpowiedzi.

Odpowiedź

Użytkownik przesyła formularz za pomocą zasobu FormResponse.

Oglądaj

Reguła, która śledzi zmiany w schemacie formularza (np. zmiany w pytaniach) lub przesłane odpowiedzi na formularz i wysyła powiadomienie push po wprowadzeniu zmiany. Reprezentowana przez zasób Watch.

Struktura formularza

Zarządzanie formularzami i testami może być skomplikowane, ponieważ wiele obiektów formularza może być zagnieżdżonych w wielu różnych miejscach. Aby zobaczyć, jak wizualna reprezentacja formularza wypełnia pola, zalecamy utworzenie kilku przykładów formularzy generowanych przez Twoją aplikację. Następnie pobierz odpowiedni kod JSON za pomocą metody forms.get(), aby porównać. Na przykład ten quiz 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 dotyczących uwierzytelniania i autoryzacji, znajdziesz w artykule Pierwsze kroki jako programista Workspace.
  • Aby dowiedzieć się, jak skonfigurować i uruchomić prostą aplikację do używania Formularzy, przeczytaj wprowadzenie.