Menyiapkan project Apps Script

Penyiapan project Apps Script untuk memanggil Google Forms API secara langsung melalui panggilan REST memerlukan beberapa langkah. Dengan asumsi Anda telah mengonfigurasi project Google Cloud, lakukan hal berikut:

  1. Buat project Apps Script baru.
  2. Ubah nomor project Google Cloud terkait agar cocok dengan project yang Anda aktifkan untuk Forms API.
  3. Edit file Manifes (appsscript.json) untuk menambahkan cakupan OAuth yang diperlukan.
  4. Tambahkan kode Apps Script untuk mengambil token OAuth dan melakukan panggilan REST menggunakan token tersebut.

Membuat dan mengonfigurasi project Apps Script baru

  1. Menggunakan Akun Google yang sama dengan yang Anda gunakan untuk mengonfigurasi project Google Cloud, buka Dasbor Apps Script, lalu klik Project baru.
  2. Setelah project Anda terbuka, klik Project Settings.
  3. Centang kotak Tampilkan file manifes "appsscript.json" dalam editor.
  4. Di bagian Project Google Cloud Platform (Google Cloud), klik Ubah project dan masukkan nomor project Google Cloud yang Anda konfigurasi untuk Forms API.

Project Apps Script Anda kini dikonfigurasi untuk mengakses Forms API. Langkah berikutnya yang diperlukan adalah menambahkan cakupan OAuth yang tepat.

Menambahkan cakupan OAuth

Untuk membuat token OAuth yang tercakup dengan benar di Apps Script, Anda harus menyetel cakupan yang diperlukan dalam file manifes project.

  1. Di editor, buka appsscript.json.
  2. Tambahkan cakupan ke isi manifes.

    {
      ...
    "oauthScopes": [
        "https://www.googleapis.com/auth/script.external_request",
        "https://www.googleapis.com/auth/drive",
        "https://www.googleapis.com/auth/drive.readonly",
        "https://www.googleapis.com/auth/forms.body",
        "https://www.googleapis.com/auth/forms.body.readonly",
        "https://www.googleapis.com/auth/forms.responses.readonly"
      ],
     ...
     }
    
  3. Klik Simpan project dan perbaiki error sintaksis jika diperlukan. Project Anda sekarang dapat memanggil Forms API menggunakan panggilan REST.

Menambahkan kode Apps Script untuk memanggil API

Sebelum menulis kode untuk memanggil formulir, Anda harus mengidentifikasi formulir yang Anda miliki yang memiliki respons dan mencatat ID formulirnya. ID formulir dapat ditemukan di URL saat mengedit formulir:

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

Untuk memanggil API, Anda akan menggunakan panggilan UrlFetchApp Apps Script.

  1. Buka Code.gs dan tambahkan kode berikut:

    forms-api/snippets/retrieve_all_responses.gs
    function callFormsAPI() {
      console.log("Calling the Forms API!");
      const formId = "<YOUR_FORM_ID>";
    
      // Get OAuth Token
      const OAuthToken = ScriptApp.getOAuthToken();
      console.log(`OAuth token is: ${OAuthToken}`);
    
      const formsAPIUrl = `https://forms.googleapis.com/v1/forms/${formId}/responses`;
      console.log(`formsAPIUrl is: ${formsAPIUrl}`);
    
      const options = {
        headers: {
          Authorization: `Bearer ${OAuthToken}`,
          Accept: "application/json",
        },
        method: "get",
      };
    
      const response = UrlFetchApp.fetch(formsAPIUrl, options);
      console.log(`Response from forms.responses was: ${response}`);
    }
  2. Ganti YOUR_FORM_ID dengan nilai yang Anda catat sebelumnya.

    Contoh: var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';

  3. Klik Simpan project dan perbaiki error sintaksis jika diperlukan.

Menguji kode

  1. Klik Run.
  2. Beri otorisasi project sesuai kebutuhan menggunakan Akun Google yang sama seperti sebelumnya.

Setelah dimulai, Anda akan melihat respons di Execution log yang mirip dengan ini:

Execution started
Calling the Forms API!
OAuth token is: ya29.a0ARrdaM8IMjtlv…
formsAPIUrl is: https://forms.googleapis.com/v1beta/forms/…/responses
Response from Forms.responses was: {
"responses": [
    {
      "responseId":"...",
      "createTime": "2021-03-25T01:23:58.146Z",
      "lastSubmittedTime": "2021-03-25T01:23:58.146607Z",
      "answers": {
        "1e9b0ead": {
          "questionId": "1e9b0ead",
          "textAnswers": {
            "answers": [
              {
                "value": "Red"
              }
            ]
          }
        },
        "773ed8f3": {
          "questionId": "773ed8f3",
          "textAnswers": {
            "answers": [
              {
                "value": "Tesla"
              }
            ]
          }
        }
      }
    }
  ]
}
Execution completed

Langkah berikutnya

Setelah berhasil memanggil API dengan Apps Script, lihat dokumentasi referensi dan coba lakukan panggilan lain ke API.