Menyiapkan project Apps Script

Menyiapkan project Apps Script untuk memanggil Google Formulir API secara langsung melalui panggilan REST sangatlah mudah. Dengan asumsi bahwa Anda telah mengonfigurasi project Google Cloud, lakukan tindakan berikut:

  1. Buat project Apps Script baru.
  2. Ubah nomor project Google Cloud terkait agar sesuai dengan project yang Anda aktifkan untuk Google Formulir 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 panduan singkat tentang langkah-langkah tersebut.

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 Anda 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 dikonfigurasi untuk mengakses Google Formulir API. Langkah berikutnya yang diperlukan adalah menambahkan cakupan OAuth yang tepat.

Tambahkan cakupan OAuth

Untuk membuat token OAuth dengan cakupan yang benar di Apps Script, Anda perlu menetapkan cakupan yang diperlukan di 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 Save project dan perbaiki error sintaksis jika perlu. Sekarang project Anda dapat memanggil Google Formulir API melalui 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:

    form-api/snippets/fetch_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 perlu.

Menguji kode

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

Setelah dimulai, Anda akan melihat respons di Execution log seperti 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, baca dokumentasi referensi dan lakukan eksperimen dengan membuat panggilan lain ke API.