Mengubah Data dari Spreadsheets Menjadi API
Tutorial membuat API sederhana dari data Google Spreadsheets menggunakan Google Apps Script.
Mungkin sebagian dari kita sudah banyak mengenal Google Spreadsheets untuk mengolah data. Namun, pernahkah kalian berpikir untuk menggunakan data dari spreadsheet tersebut di aplikasi lain, terutama aplikasi web?
Pada umumnya aplikasi web membutuhkan database atau sumber data lain untuk ditampilkan. Karena spreadsheet juga bisa digunakan untuk menyimpan data, bagaimana caranya membagikan data yang sudah dikelola dari spreadsheet ke aplikasi lain? Kita bisa membuat sebuah API sederhana untuk melakukannya.
API adalah singkatan dari Application Programming Interface. Pada intinya, API adalah cara satu aplikasi atau sistem berkomunikasi dengan aplikasi lainnya.
Di tulisan ini saya akan berbagi cara membuat API sederhana dari Google Spreadsheets.
Mempersiapkan data
Saya menggunakan data MLBB Heroes untuk dibagikan melalui API. Format datanya perlu mengikuti struktur berikut:
- Baris pertama berisi header.
- Baris kedua dan seterusnya berisi daftar data.
Membuka Apps Script
Apps Script adalah fitur Google untuk membuat aplikasi yang dapat diintegrasikan dengan layanan Google lain seperti Gmail dan Spreadsheets.
Di file spreadsheet yang sudah dibuat, buka menu Ekstensi, lalu pilih Apps Script. Halaman baru akan terbuka; di sanalah kita menulis kode untuk mengubah data menjadi API.
Menulis kode
Buka Gist Apps Script yang saya gunakan, salin isi code.gs, lalu tempelkan ke editor Apps Script.
Kode tersebut akan membaca data dari spreadsheet, mengolahnya, lalu mengubah hasilnya menjadi respons API.
Penjelasan kode
SpreadsheetApp.getActiveSpreadsheet()membuka spreadsheet yang sedang aktif. Karena Apps Script dibuka dari fileMLBB Heroes, fungsi tersebut otomatis menggunakan file itu.doGetdijalankan ketika aplikasi menerima permintaan HTTP dengan metodeGET.ContentService.createTextOutput()membuat keluaran yang dapat kita atur.setMimeType(ContentService.MimeType.JSON)menetapkan tipe respons menjadi JSON.ss.getActiveSheet().getDataRange().getValues()mengambil seluruh nilai dari rentang data pada sheet aktif.- Bagian
headersmengambil baris pertama sebagai nama properti. Karena itu, format data harus konsisten. values.forEach((value, index) => ...)menyusun ulang setiap baris menjadi struktur JSON.cs.setContent(JSON.stringify(data))menempatkan data yang sudah diproses ke dalam respons.
Mendeploy aplikasi
Setelah selesai menulis kode, klik tombol Terapkan di pojok kanan atas, lalu pilih Deployment baru.
Isi pengaturan deployment:
- Tambahkan penjelasan perubahan. Untuk deployment pertama, isinya bebas.
- Pilih akun Google yang akan menjalankan aplikasi.
- Atur siapa yang dapat mengakses aplikasi. Pada contoh ini, siapa pun yang memiliki tautan dapat menjalankannya.
Klik Terapkan, kemudian pilih Izinkan Akses karena aplikasi perlu membaca spreadsheet.
Pilih akun Google yang ingin digunakan. Jika muncul peringatan bahwa aplikasi belum diverifikasi, pastikan kode yang digunakan memang kode milik atau yang sudah kalian periksa sendiri. Buka pilihan Lanjutan, lalu lanjutkan ke aplikasi dan tinjau izin yang diminta sebelum memilih Izinkan.
Melakukan uji coba
Salin URL aplikasi web dari hasil deployment dan buka di browser. Jika data tampil sebagai JSON, API sudah berhasil dibuat.
Format JSON di komputer kalian mungkin berbeda karena formatter browser, tetapi isi datanya tetap sama dengan data di spreadsheet.
Apa selanjutnya?
Setelah API berhasil dibuat, kita dapat membuat aplikasi web sederhana untuk menampilkan data dari API tersebut.