Membuat REST API dengan Google Spreadsheet dan Apps Script — Panduan Lengkap

Google Spreadsheet sebagai REST API

REST API memungkinkan aplikasi lain (web, mobile, desktop) untuk mengakses data spreadsheet Anda melalui HTTP request. Google Apps Script bisa berfungsi sebagai REST API server yang melayani permintaan GET, POST, PUT, dan DELETE. Ini adalah cara termurah untuk memiliki backend API — tanpa server, tanpa biaya bulanan.

Struktur REST API

GET    /api/data     → Mengambil semua data
GET    /api/data?id=1 → Mengambil satu data berdasarkan ID
POST   /api/data     → Menambah data baru
PUT    /api/data     → Memperbarui data
DELETE /api/data?id=1 → Menghapus data

Kode REST API dengan Apps Script

function doGet(e) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var headers = data[0];
  
  // CORS headers
  var output = ContentService.createTextOutput();
  output.setMimeType(ContentService.MimeType.JSON);
  
  // Jika ada parameter id, kembalikan satu baris
  if (e.parameter.id) {
    var id = parseInt(e.parameter.id);
    if (id > 0 && id < data.length) {
      var row = {};
      for (var j = 0; j < headers.length; j++) {
        row[headers[j]] = data[id][j];
      }
      output.setContent(JSON.stringify(row));
    } else {
      output.setContent(JSON.stringify({error: "Data tidak ditemukan"}));
    }
  } else {
    // Kembalikan semua data
    var result = [];
    for (var i = 1; i < data.length; i++) {
      var row = {};
      for (var j = 0; j < headers.length; j++) {
        row[headers[j]] = data[i][j];
      }
      result.push(row);
    }
    output.setContent(JSON.stringify(result));
  }
  
  return output;
}

Mengakses API dari JavaScript

// GET semua data
fetch('URL_API')
  .then(r => r.json())
  .then(data => console.log(data));

// GET data by ID
fetch('URL_API?id=1')
  .then(r => r.json())
  .then(data => console.log(data));

// POST data baru
fetch('URL_API', {
  method: 'POST',
  body: JSON.stringify({nama: "Budi", email: "budi@mail.com"})
}).then(r => r.json()).then(console.log);

// DELETE data
fetch('URL_API?id=1', {method: 'DELETE'})
  .then(r => r.json()).then(console.log);

Kesimpulan

REST API dengan Google Spreadsheet adalah solusi backend instan untuk prototyping, aplikasi internal, dan proyek skala kecil. Meskipun memiliki keterbatasan (20.000 request/hari, latency lebih tinggi dari server dedicated), ini adalah opsi terbaik untuk memulai tanpa biaya.

Tutorial REST API Google Spreadsheet & Apps Script — Web App Builder Collection

Post a Comment for "Membuat REST API dengan Google Spreadsheet dan Apps Script — Panduan Lengkap"