Ringkasan

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

  • Buat formulir atau kuis
  • Memperbarui formulir atau kuis
  • Mengambil respons dari formulir atau kuis
  • Membaca metadata dan konten formulir
  • Menyiapkan dan menerima notifikasi push

Di bawah ini adalah daftar istilah umum yang digunakan dalam Forms API:

Formulir

Dokumen Google Formulir, yang dibuat dan disimpan di Drive. Setiap formulir diwakili oleh resource Form dan memiliki nilai formId unik, yang berisi huruf, angka, tanda hubung, atau garis bawah. Anda dapat menemukan ID formulir di URL Google 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 sudah ada menjadi true.

Penilaian
Nilai poin, kunci jawaban, dan masukan untuk pertanyaan, diterapkan jika isQuiz adalah true. Diwakili oleh resource Grading.
Masukan
Respons yang diberikan kepada pengguna akhir saat merespons pertanyaan pada kuis, yang direpresentasikan oleh referensi Feedback.
Item

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

Pertanyaan

Satu pertanyaan pada formulir, yang direpresentasikan oleh resource Question.

Grup pertanyaan

Sekelompok pertanyaan yang semuanya memiliki kumpulan kemungkinan jawaban yang sama (misalnya, petak rating dari 1 sampai 5). Diwakili oleh resource QuestionGroupItem.

Section

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

Jawaban

Jawaban pengguna akhir atas pertanyaan, yang direpresentasikan oleh resource Answer. Menyertakan 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 pada pertanyaan) atau pengiriman respons formulir dan mengirimkan notifikasi push saat ada perubahan. Diwakili oleh resource Watch.

Struktur formulir

Saat mengelola formulir dan kuis, memahami cara menentukan kolom yang berbeda bisa menjadi hal yang rumit, mengingat banyak objek formulir yang dapat disusun bertingkat satu sama lain dengan beberapa cara. Untuk melihat cara 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() agar dapat dibandingkan. 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": "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"
              }
            ]
          }
        }
      }
    }
  ]
}

Langkah berikutnya