Assalamualaikum, REST API merupakan hal yang penting untuk membuat aplikasi mobile menjadi dinamis. Biasanya kita membuat REST API dengan PHP atau Framework Codeigniter / Lumen.
Dengan Google Script dan Google Sheet kita bisa membuat REST API dengan mudah, mari kita mulai.
Buka Google Sheet, lalu buat Blank Document

Isi data apa aja, klo saya mengisi data tempat wisata bogor
https://www.merdeka.com/gaya/tempat-wisata-di-bogor-kln.html

kemudian klik tombol share



Kemudian coba link share nya di browser
https://docs.google.com/spreadsheets/d/1PwCr5dxpQV3b1xPUbw5laJo4PkGp35uBEF9ADZQ8XbA/edit?usp=sharing
Pastikan buka di browser baru dan tanpa login ke akun google.
Catat id google sheet kamu : 1PwCr5dxpQV3b1xPUbw5laJo4PkGp35uBEF9ADZQ8XbA
Sekarang saatnya membuat REST API, buka Google Script, kli Start Scripting, pilih New Script, dan masukan kode berikut
function doGet(request) { var output = ContentService.createTextOutput(); var data = {}; var id = request.parameters.id; var sheet = request.parameters.sheet; var cell = request.parameters.cell; var ss = SpreadsheetApp.openById(id); if (sheet) { if (cell) { data = ss.getSheetByName(sheet).getRange(cell).getValue(); } else { data = readData_(ss, sheet); } } else { ss.getSheets().forEach(function(oSheet, iIndex) { var sName = oSheet.getName(); if (! sName.match(/^_/)) { data = readData_(ss, sName); } }) } var result = cell ? data :JSON.stringify({status:'Success', data:data}); var callback = request.parameters.callback; if (callback == undefined) { output.setContent(result); output.setMimeType(cell ? ContentService.MimeType.TEXT : ContentService.MimeType.JSON); } else { output.setContent(callback + "(" + result + ")"); output.setMimeType(ContentService.MimeType.JAVASCRIPT); } return output; } function readData_(ss, sheetname, properties) { if (typeof properties == "undefined") { properties = getHeaderRow_(ss, sheetname); properties = properties.map(function(p) { return p.replace(/\s+/g, '_'); }); } var rows = getDataRows_(ss, sheetname); var data = []; for (var r = 0, l = rows.length; r < l; r++) { var row = rows[r]; var record = {}; for (var p in properties) { record[properties[p]] = row[p]; } data.push(record); } return data; } function getDataRows_(ss, sheetname) { var sh = ss.getSheetByName(sheetname); return sh.getRange(2, 1, sh.getLastRow() - 1, sh.getLastColumn()).getValues(); } function getHeaderRow_(ss, sheetname) { var sh = ss.getSheetByName(sheetname); return sh.getRange(1, 1, 1, sh.getLastColumn()).getValues()[0]; }
Klik Menu Publish > Deploy As Web App


Copy alamat url ke browser atau Postman
https://script.google.com/macros/s/AKfycbznr__g9n2iEEOR94Q06ccPyJVFt4LYiIfkn6jjeZHERMQfyyq2/exec

Tambahkan id dan sheet di param
id = id google sheet
sheet = nama sheet

Hasil REST API nya siap digunakan di Aplikasi Flutter kita

Link Lengkapnya

Semoga bermanfaat
Jangan lupa untuk lihat tutorial lainnya di :