Cara Menghubungkan Google Sheets ke Aplikasi Anda
Untuk menghubungkan Google Sheets ke aplikasi, aktifkan Google Sheets API di proyek Google Cloud, buat service account, bagikan spreadsheet ke alamat email service account tersebut, dan simpan kuncinya sebagai secret di sisi server. Server Anda kemudian membaca baris dengan spreadsheets.values.get dan menambahkan baris dengan spreadsheets.values.append. Jika pengguna perlu menghubungkan sheet milik mereka sendiri, gunakan OAuth, dan jika sheet sepenuhnya publik, API key sederhana sudah cukup untuk membaca.
Panduan ini membahas metode mana yang cocok, panggilan yang Anda perlukan, kuota dan jebakannya, serta prompt untuk pembuat aplikasi AI. Detail Google diambil dari dokumentasi developer Google per September 2026.
Mengapa menghubungkan sheet
Alasan yang umum:
- Mempertahankan alur kerja tim. Staf tetap mengedit daftar harga atau jadwal di Sheets; aplikasi yang menampilkannya.
- Mengumpulkan data di tempat orang sudah melihat. Pendaftaran, pesanan, atau respons formulir baru masuk sebagai baris.
- Pelaporan. Ekspor data aplikasi ke sheet untuk orang yang sehari-hari bekerja dengan spreadsheet.
- Batu loncatan. Mulai dari sheet, lalu pindah ke database yang layak. Lihat cara mengubah spreadsheet menjadi aplikasi.
Pilih cara aplikasi Anda masuk ke Google
Panduan kredensial Google menjelaskan tiga jenis:
| Kredensial | Yang bisa diakses | Paling cocok untuk |
|---|---|---|
| API key | Hanya data publik, seperti file yang dibagikan dengan "Anyone with the link" | Membaca sheet publik |
| Service account | Data yang dimiliki aplikasi Anda, atau file tertentu yang dibagikan ke email service account | Aplikasi Anda membaca dan menulis ke sheet Anda |
| OAuth client ID | File milik pengguna, setelah mereka menyetujui | Membiarkan setiap pengguna menghubungkan sheet mereka |
Untuk sebagian besar aplikasi, service account adalah pilihan yang tepat: satu set kredensial, dimiliki Anda, dengan akses hanya ke sheet yang Anda bagikan secara eksplisit kepadanya.
Langkah demi langkah dengan service account
- Buat atau pilih proyek Google Cloud dan aktifkan Google Sheets API.
- Buat service account dan kunci untuknya. Kuncinya berupa file JSON; perlakukan seperti kata sandi.
- Bagikan spreadsheet ke alamat email service account, sebagai Viewer untuk hanya baca atau Editor untuk menulis. Panduan Google menyebutkan ini dilakukan lewat layar berbagi biasa.
- Simpan kunci sebagai secret di server Anda, misalnya
GOOGLE_SERVICE_ACCOUNT_JSON, plus ID spreadsheet (string panjang di URL sheet) sebagaiSHEET_ID. - Panggil API dari server dengan library klien Google untuk bahasa Anda.
- Simpan hasil baca di cache jika banyak pengunjung melihat data yang sama, agar Anda tidak mencapai kuota.
Panggilan yang akan Anda pakai
Dari panduan Google tentang membaca dan menulis nilai:
| Metode | Fungsinya |
|---|---|
spreadsheets.values.get | Membaca satu rentang, seperti Leads!A1:E |
spreadsheets.values.batchGet | Membaca beberapa rentang dalam satu permintaan |
spreadsheets.values.update | Menulis ke rentang tertentu |
spreadsheets.values.append | Menambahkan baris setelah data yang ada dalam tabel |
Rentang menggunakan notasi A1. Google mencatat bahwa rentang tanpa nama sheet, seperti A1:B2, berlaku untuk sheet pertama, jadi sebutkan nama tab secara eksplisit agar tidak ada kejutan saat seseorang mengubah urutan tab.
RAW vs USER_ENTERED
Penulisan membutuhkan valueInputOption:
- RAW menyimpan persis apa yang Anda kirim, sebagai teks.
=1+2disimpan sebagai teks=1+2. - USER_ENTERED memperlakukan input seolah diketik di Sheets: tanggal menjadi tanggal dan
=1+2menjadi rumus.
Jika Anda menulis teks yang diketik pengguna di aplikasi, gunakan RAW. Dengan USER_ENTERED, seseorang bisa mengirimkan rumus yang akan dijalankan saat rekan kerjanya membuka sheet.
Kuota dan error
Per September 2026, halaman batas Sheets API dari Google mencantumkan:
| Batas | Permintaan baca | Permintaan tulis |
|---|---|---|
| Per menit per proyek | 300 | 300 |
| Per menit per pengguna per proyek | 60 | 60 |
Tidak ada batas harian selama Anda tetap dalam kuota per menit. Jika melebihinya, muncul 429: Too many requests, dan Google merekomendasikan exponential backoff yang dipotong: tunggu lebih lama setelah setiap percobaan yang gagal, dengan jeda acak, hingga batas maksimum. Satu permintaan yang memakan waktu lebih dari 180 detik akan timeout.
Dalam praktik: jangan memanggil API di setiap tampilan halaman. Simpan data sheet di cache selama satu menit atau lebih, gabungkan pembacaan dengan batchGet, dan gabungkan penulisan jika memungkinkan.
Pilihan dan pertimbangannya
| Pendekatan | Kelebihan | Kekurangan |
|---|---|---|
| Sheet sebagai sumber data langsung | Staf mengedit di alat yang sudah familiar; tidak perlu membangun layar admin | Kuota, tidak ada izin per baris, mudah rusak jika kolom diganti nama |
| Sinkronisasi sheet ke database | Pembacaan cepat dan andal; aplikasi tetap jalan jika Sheets bermasalah | Anda perlu job sinkronisasi dan aturan sisi mana yang menang |
| Database dulu, ekspor ke sheet | Aplikasi memiliki data; sheet berfungsi sebagai laporan | Perubahan di sheet tidak kembali ke aplikasi |
| Alat otomasi di tengah | Tanpa kode untuk alur sederhana | Langganan tambahan; lebih sulit di-debug |
Untuk apa pun dengan banyak pengguna atau data sensitif, database adalah sumber kebenaran yang lebih baik. Lihat apa itu database.
Prompt untuk pembuat aplikasi AI Anda
Membaca sheet:
Tampilkan tab "Menu" dari Google Sheet kami di halaman menu. Gunakan Google Sheets API dari server dengan service account yang JSON kuncinya ada di secret GOOGLE_SERVICE_ACCOUNT_JSON, dan ID spreadsheet di SHEET_ID. Baca rentang Menu!A2:D (nama, deskripsi, harga, kategori). Simpan hasil di cache selama 5 menit. Jika API gagal, tampilkan versi cache terakhir. Jangan pernah mengirim kunci ke browser.
Menulis baris:
Saat seseorang mengirim formulir kontak, simpan ke database kami dan juga tambahkan baris ke tab "Leads" (tanggal, nama, email, pesan) menggunakan spreadsheets.values.append dengan valueInputOption RAW. Jika Google mengembalikan 429, coba lagi dengan exponential backoff; jika tetap gagal, simpan lead di database dan coba lagi nanti.
Kesalahan umum
- Lupa membagikan sheet ke email service account. API lalu mengembalikan error izin meskipun kuncinya benar.
- Kunci di frontend atau di repository. Kunci JSON memberi akses ke setiap sheet yang dibagikan kepadanya. Lihat cara menjaga API key tetap aman.
- Memakai USER_ENTERED untuk input pengguna, yang memungkinkan injeksi rumus.
- Memanggil API di setiap permintaan dan mencapai kuota per menit saat lonjakan lalu lintas pertama.
- Bergantung pada posisi kolom. Seseorang menyisipkan kolom dan aplikasi membaca data yang salah. Baca baris header dan petakan berdasarkan nama, atau kunci header-nya.
- Membagikan sheet lebih luas dari yang diperlukan. "Anyone with the link" membuatnya publik.
- Menggunakan sheet sebagai database multi-pengguna. Penulisan bersamaan dan izin yang hilang menyebabkan data hilang atau bocor.
Daftar periksa
- Sheets API diaktifkan; service account dibuat
- Sheet dibagikan ke email service account dengan peran serendah yang diperlukan
- Kunci dan ID sheet disimpan sebagai secret di sisi server
- Semua panggilan dilakukan dari server
- Nama tab digunakan dalam rentang
- RAW dipakai untuk teks yang diberikan pengguna
- Hasil baca disimpan di cache; 429 ditangani dengan backoff
- Aplikasi tetap berjalan dengan baik jika Sheets tidak tersedia
- Sudah diputuskan sisi mana yang menjadi sumber kebenaran
Google Sheets di Mythex
Mythex memiliki dua cara berbeda untuk bekerja dengan Sheets. Connector menghubungkan akun Google Anda ke Mythex sehingga agen bisa menggunakannya saat Anda membangun, misalnya membaca sheet untuk membuat dashboard darinya; dokumentasi menyebutkan bahwa kredensial tetap berada di layanan koneksi Mythex dan tidak pernah masuk ke kode Anda (lihat Connectors, dan setujui setiap izin yang diminta Google). Agar aplikasi yang sudah dipublikasikan bisa membaca atau menulis sheet secara mandiri, cara yang andal adalah yang ada di panduan ini: kunci service account yang disimpan sebagai secret proyek dan panggilan Sheets API dari server Anda, seperti di Integrate any API. Jika Anda mulai melampaui sheet, minta agen memindahkan data ke database proyek dan membangun dashboard di atasnya.
Pertanyaan
Bagaimana aplikasi saya bisa membaca Google Sheet pribadi?
Cara yang umum adalah service account Google Cloud: aktifkan Sheets API, buat service account dan kuncinya, lalu bagikan spreadsheet ke alamat email service account tersebut sebagai Viewer atau Editor. Server Anda menggunakan kunci itu, yang disimpan sebagai secret, untuk memanggil Sheets API.
Bisakah saya memakai Google API key untuk mengakses spreadsheet?
Hanya untuk data publik. Panduan kredensial Google menyebutkan bahwa API key ditujukan untuk akses anonim ke data yang tersedia publik, seperti file yang dibagikan kepada siapa pun yang memiliki tautannya. Sheet pribadi membutuhkan service account atau OAuth.
Berapa batas penggunaan Google Sheets API?
Per September 2026, Google mencantumkan 300 permintaan baca dan 300 permintaan tulis per menit per proyek, serta 60 masing-masing per menit per pengguna per proyek, tanpa batas harian. Melebihi batas akan mengembalikan error 429; Google merekomendasikan exponential backoff yang dipotong.
Apakah saya sebaiknya memakai Google Sheets sebagai database aplikasi?
Cocok untuk aplikasi kecil dengan lalu lintas rendah, di mana orang juga mengedit data di sheet. Untuk banyak pengguna, penulisan yang sering, relasi antar-record, atau izin per pengguna, database sungguhan lebih andal, dan Anda tetap bisa mengekspor ke sheet.