Menyiapkan project Apps Script

Menyiapkan project Apps Script untuk memanggil Google Forms API secara langsung melalui panggilan REST sangatlah mudah. 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 Andaaktifkan untuk Google 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.

Berikut adalah panduan singkat langkah-langkah ini.

Membuat dan mengonfigurasi project Apps Script baru

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

Project Apps Script Anda sekarang telah dikonfigurasi untuk mengakses Google Forms API. Langkah berikut yang diperlukan adalah menambahkan cakupan OAuth yang sesuai.

Menambahkan cakupan OAuth

Untuk membuat token OAuth dengan cakupan yang tepat di Apps Script, Anda perlu menetapkan 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 kini dapat memanggil Google Forms API melalui panggilan REST.

Menambahkan kode Apps Script untuk memanggil API

Sebelum menulis kode untuk memanggil formulir, Anda perlu 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!');
      var formId = '<YOUR_FORM_ID>';
    
      // Get OAuth Token
     var OAuthToken = ScriptApp.getOAuthToken();
     console.log('OAuth token is: ' + OAuthToken);
     var formsAPIUrl = 'https://forms.googleapis.com/v1/forms/' + formId + '/' + 'responses';
     console.log('formsAPIUrl is: ' + formsAPIUrl);
     var options = {
        'headers': {
          Authorization: 'Bearer ' + OAuthToken,
          Accept: 'application/json'
        },
        'method': 'get'
      };  
    var 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 Save project dan perbaiki error sintaksis jika diperlukan.

Menguji kode

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

Setelah dimulai, Anda akan melihat respons di Log eksekusi 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 bereksperimen dengan melakukan panggilan lain ke API.