Ringkasan

Google Forms API adalah antarmuka RESTful yang memungkinkan Anda membuat dan mengubah formulir serta kuis, mengambil respons formulir dan nilai kuis, menyiapkan kunci jawaban kuis dengan masukan otomatis, dan menerima notifikasi push. Penggunaan API ini yang paling umum mencakup tugas-tugas berikut:

  • Membuat formulir atau kuis
  • Memublikasikan dan mengelola responden
  • Memperbarui formulir atau kuis
  • Mengambil respons dari formulir atau kuis
  • Membaca konten dan metadata formulir
  • Menyiapkan dan menerima notifikasi push
Berikut adalah daftar istilah umum yang digunakan di Forms API:
Formulir

Dokumen Google Formulir, dibuat dan disimpan di Drive. Setiap formulir direpresentasikan oleh a Form resource dan memiliki a unique formId value, yang berisi huruf, angka, tanda hubung, atau garis bawah. Anda dapat menemukan ID formulir di URL Formulir:

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

Kuis

Jenis dokumen Google Formulir tertentu yang memungkinkan penilaian respons formulir terhadap kunci jawaban. Kuis hanya dapat dibuat menggunakan metode batchUpdate() untuk memperbarui setelan isQuiz pada formulir yang ada ke true.

Penilaian
Nilai poin, kunci jawaban, dan masukan untuk pertanyaan, yang diterapkan saat isQuiz adalah true. Direpresentasikan oleh resource Grading.
Masukan
Respons yang diberikan kepada pengguna akhir saat menjawab pertanyaan di kuis, yang direpresentasikan oleh Feedback resource.
Item

Satu elemen dalam formulir, yang direpresentasikan oleh resource Item. Item adalah elemen berulang yang dapat berisi bagian, grup pertanyaan, pertanyaan, teks, gambar, atau video.

Pertanyaan

Satu pertanyaan di formulir, yang direpresentasikan oleh resource Question.

Grup pertanyaan

Grup pertanyaan yang semuanya memiliki kumpulan jawaban yang sama (misalnya, kisi-kisi rating dari 1 hingga 5). Direpresentasikan oleh the QuestionGroupItem resource.

Bagian

Bagian adalah cara untuk membagi formulir menjadi beberapa halaman dan menambahkan logika bersyarat (seperti hanya menampilkan pertanyaan tertentu berdasarkan jawaban pengguna). Bagian sesuai dengan PageBreakItem resource.

Jawaban

Jawaban pengguna akhir atas pertanyaan, yang direpresentasikan oleh Answer resource. Mencakup informasi nilai (jika ada), metadata, dan konten jawaban.

Respons

Pengiriman formulir oleh pengguna akhir, yang direpresentasikan oleh resource FormResponse.

Tonton

Pemicu yang melacak perubahan pada perubahan skema formulir (seperti pengeditan pertanyaan) atau pengiriman respons formulir dan mengirimkan notifikasi push saat terjadi perubahan. Direpresentasikan oleh resource Watch.

Struktur formulir

Saat mengelola formulir dan kuis, memahami cara menentukan berbagai kolom dapat menjadi rumit, mengingat banyak objek formulir dapat disarangkan di dalam satu sama lain dengan berbagai cara. Untuk melihat bagaimana representasi visual formulir dipetakan ke kolom, sebaiknya gunakan UI untuk membuat beberapa contoh formulir yang mungkin dihasilkan aplikasi Anda. Kemudian, ambil JSON yang sesuai menggunakan metode forms.get() sehingga Anda dapat membandingkannya. Misalnya, contoh kuis ini sesuai dengan JSON berikut:

{
  "formId": "FORM_ID",
  "info": {
    "title": "Famous Black Women",
    "description": "Please complete this quiz based off of this week's readings for class.",
    "documentTitle": "Famous Black Women"
  },
  "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"
              }
            ]
          }
        }
      }
    }
  ],
  "publishSettings" : {
    "isPublished": true,
    "isAcceptingResponses": true
  }
}

Langkah berikutnya