Google Sheets API: Menghubungkan Spreadsheet ke Aplikasi Lain
Google Sheets API adalah jalur resmi dari Google agar aplikasi, website, atau script Anda bisa membaca dan menulis data di Google Sheets tanpa ada orang yang membuka file-nya. Contohnya: setiap ada pendaftaran di website, datanya langsung masuk sebagai baris baru di spreadsheet tim marketing. Atau sebaliknya, website membaca daftar harga dari spreadsheet yang diperbarui admin.
Artikel ini untuk tim teknis (atau pemilik bisnis yang bekerja dengan developer) yang ingin menghubungkan spreadsheet ke aplikasi lain. Kita bahas kapan Sheets API cocok, cara mengatur izin, cara baca tulis data, kuota yang perlu diwaspadai, dan kapan sebaiknya berhenti memakai Sheets sebagai database.
Kapan pakai Google Sheets API
Kalau istilah API masih asing, baca dulu penjelasan API untuk pemilik bisnis. Singkatnya, Sheets API cocok saat spreadsheet memang jadi tempat kerja tim, dan Anda ingin aplikasi lain ikut membaca atau mengisinya.
Beberapa contoh yang realistis:
- Form website ke spreadsheet: data leads dari landing page langsung tercatat, lengkap dengan waktu dan sumber iklan.
- Harga dan stok dari spreadsheet: toko kecil menyimpan daftar harga di Sheets, website membaca dari situ, jadi admin cukup mengubah satu tempat.
- Laporan otomatis: aplikasi internal menulis rekap penjualan harian ke tab laporan yang dibaca manajemen.
- Sinkron dari sistem lain: data dari software akuntansi atau CRM ditarik lewat API masing-masing, lalu ditulis ke Sheets untuk dianalisis.
Kalau semua prosesnya ada di dalam Google Workspace (misalnya Google Form ke Sheets ke Gmail), sering kali Anda tidak perlu Sheets API. Google Apps Script lebih praktis karena sudah berjalan di dalam akun Google Anda. Sheets API lebih cocok saat yang mengakses adalah aplikasi di luar Google: backend website, aplikasi internal, atau tool otomatisasi seperti n8n.
Service account dan izin akses
Ada dua cara aplikasi “login” ke Google Sheets:
- OAuth (atas nama pengguna): aplikasi meminta izin pengguna lewat layar login Google. Cocok kalau aplikasi mengakses spreadsheet milik banyak pengguna berbeda.
- Service account (akun robot): akun khusus yang dipakai aplikasi, tanpa login manusia. Cocok untuk integrasi internal di satu perusahaan.
Untuk kebutuhan internal bisnis, service account biasanya pilihan paling sederhana. Langkah umumnya:
- Buat project di Google Cloud Console.
- Aktifkan Google Sheets API di project tersebut.
- Buat service account, lalu buat key dalam format JSON. File ini berisi kredensial, simpan seperti menyimpan kata sandi.
- Salin alamat email service account (bentuknya seperti
nama@project-id.iam.gserviceaccount.com). - Buka spreadsheet yang ingin diakses, klik Share, lalu bagikan ke email service account tersebut. Pilih Viewer kalau hanya membaca, Editor kalau perlu menulis.
Langkah kelima yang paling sering terlupa. Service account tidak otomatis bisa melihat semua file di Drive perusahaan. Ia hanya bisa mengakses file yang dibagikan kepadanya, dan ini justru bagus untuk keamanan.
Beberapa kebiasaan yang sebaiknya dijaga:
- Jangan simpan file key JSON di repository kode atau folder bersama.
- Beri akses Editor hanya ke spreadsheet yang memang perlu ditulis.
- Kalau key bocor, hapus key itu di Cloud Console dan buat yang baru.
Membaca dan menulis data
Sheets API memakai notasi A1 yang sama dengan rumus spreadsheet. Misalnya Pesanan!A2:F artinya tab “Pesanan”, kolom A sampai F, mulai baris 2 sampai baris terakhir yang berisi data.
Operasi yang paling sering dipakai:
| Operasi | Fungsi | Contoh pemakaian |
|---|---|---|
values.get |
Membaca satu rentang sel | Ambil daftar harga produk |
values.batchGet |
Membaca beberapa rentang sekaligus | Ambil tab harga dan tab stok dalam satu request |
values.append |
Menambah baris setelah data terakhir | Catat pendaftaran baru |
values.update |
Menimpa isi rentang tertentu | Ubah status pesanan di baris 15 |
values.batchUpdate |
Menulis ke beberapa rentang sekaligus | Perbarui status 50 pesanan |
Saat menulis, ada opsi valueInputOption. Pilih RAW kalau nilai ditulis apa adanya. Pilih USER_ENTERED kalau Anda ingin Sheets memperlakukannya seperti diketik manusia, misalnya teks “2026-07-20” dikenali sebagai tanggal dan teks yang diawali “=” dihitung sebagai rumus.
Satu hal yang sering bikin repot: API membaca data berdasarkan posisi kolom. Kalau ada orang yang menyisipkan kolom baru di tengah tabel, aplikasi bisa menulis ke kolom yang salah. Solusinya, kunci struktur tabel (misalnya dengan protected range) dan baca baris judul untuk mencocokkan nama kolom, jangan hanya mengandalkan urutan.
Kuota dan batch request
Google Sheets API bisa dipakai tanpa biaya, tapi ada batas jumlah request per menit. Menurut dokumentasi resmi kuota Sheets API per Oktober 2026:
- 300 request per menit per project, untuk baca maupun tulis.
- 60 request per menit per pengguna per project.
- Tidak ada batas harian selama Anda tetap di bawah kuota per menit.
- Request yang diproses lebih dari 180 detik akan timeout. Google menyarankan ukuran payload maksimal sekitar 2 MB.
Angka ini bisa berubah, jadi cek halaman resminya sebelum merancang sistem yang volumenya besar.
Kalau kuota terlewati, API membalas dengan kode 429 Too Many Requests. Cara menanganinya adalah exponential backoff: tunggu sebentar, coba lagi, dan perpanjang jeda setiap kali gagal.
Cara paling efektif untuk hemat kuota adalah batch. Jangan menulis 200 baris dengan 200 request terpisah. Kumpulkan dulu, lalu kirim sekaligus lewat satu append atau batchUpdate. Selain hemat kuota, prosesnya juga jauh lebih cepat.
Contoh: sebuah distributor ingin menyalin 500 pesanan harian dari aplikasi sales ke Sheets. Kalau ditulis per baris, 500 request jelas melewati batas 60 request per menit untuk satu pengguna. Kalau dikirim dalam satu batch, cukup satu atau beberapa request.
Kapan Sheets tidak cocok sebagai database
Google Sheets enak dipakai karena semua orang bisa membuka dan mengeditnya. Tapi kemudahan itu juga kelemahannya saat dipakai sebagai database aplikasi. Pertimbangkan pindah kalau:
- Datanya terus tumbuh. Satu file Google Sheets saat ini dibatasi 10 juta sel. Tabel dengan 20 kolom akan mentok di sekitar 500 ribu baris, dan biasanya sudah terasa lambat jauh sebelum itu.
- Banyak proses menulis bersamaan. Dua aplikasi yang menulis ke rentang yang sama di waktu bersamaan bisa saling menimpa.
- Butuh relasi antar tabel. Menggabungkan pelanggan, pesanan, dan pembayaran dengan VLOOKUP berlapis mudah rusak.
- Datanya sensitif. Spreadsheet mudah dibagikan ke orang yang salah hanya dengan satu klik.
- Aplikasi butuh respons cepat. Sheets API tidak dirancang untuk melayani ribuan pengunjung website secara langsung.
Di titik itu, database seperti PostgreSQL atau MySQL lebih cocok, dan tim bisa membaca datanya lewat SQL atau dashboard. Spreadsheet tetap bisa dipakai sebagai “jendela” untuk tim, diisi otomatis dari database, bukan sebagai tempat penyimpanan utama.
Kalau Anda ingin menghubungkan spreadsheet ke website atau aplikasi internal tapi tidak punya waktu mengurus detail teknisnya, Aqilatic bisa membantu merancang alurnya lewat audit proses gratis. Contoh integrasi serupa bisa Anda lihat di bagian contoh penerapan.
Pertanyaan yang sering muncul
Apakah Google Sheets API berbayar?
Tidak ada biaya untuk memakai Sheets API. Yang membatasi adalah kuota request per menit. Anda tetap perlu project di Google Cloud untuk mengaktifkannya.
Apa bedanya Sheets API dengan Apps Script?
Apps Script berjalan di dalam Google dan cocok untuk otomatisasi di dalam Workspace. Sheets API diakses dari luar, misalnya dari backend website atau tool otomatisasi.
Kenapa muncul error “The caller does not have permission”?
Paling sering karena spreadsheet belum dibagikan ke email service account, atau aksesnya hanya Viewer padahal aplikasi mencoba menulis. Cek menu Share di file tersebut.