Panduan

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:

KredensialYang bisa diaksesPaling cocok untuk
API keyHanya data publik, seperti file yang dibagikan dengan "Anyone with the link"Membaca sheet publik
Service accountData yang dimiliki aplikasi Anda, atau file tertentu yang dibagikan ke email service accountAplikasi Anda membaca dan menulis ke sheet Anda
OAuth client IDFile milik pengguna, setelah mereka menyetujuiMembiarkan 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

  1. Buat atau pilih proyek Google Cloud dan aktifkan Google Sheets API.
  2. Buat service account dan kunci untuknya. Kuncinya berupa file JSON; perlakukan seperti kata sandi.
  3. 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.
  4. Simpan kunci sebagai secret di server Anda, misalnya GOOGLE_SERVICE_ACCOUNT_JSON, plus ID spreadsheet (string panjang di URL sheet) sebagai SHEET_ID.
  5. Panggil API dari server dengan library klien Google untuk bahasa Anda.
  6. 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:

MetodeFungsinya
spreadsheets.values.getMembaca satu rentang, seperti Leads!A1:E
spreadsheets.values.batchGetMembaca beberapa rentang dalam satu permintaan
spreadsheets.values.updateMenulis ke rentang tertentu
spreadsheets.values.appendMenambahkan 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+2 disimpan sebagai teks =1+2.
  • USER_ENTERED memperlakukan input seolah diketik di Sheets: tanggal menjadi tanggal dan =1+2 menjadi 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:

BatasPermintaan bacaPermintaan tulis
Per menit per proyek300300
Per menit per pengguna per proyek6060

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

PendekatanKelebihanKekurangan
Sheet sebagai sumber data langsungStaf mengedit di alat yang sudah familiar; tidak perlu membangun layar adminKuota, tidak ada izin per baris, mudah rusak jika kolom diganti nama
Sinkronisasi sheet ke databasePembacaan cepat dan andal; aplikasi tetap jalan jika Sheets bermasalahAnda perlu job sinkronisasi dan aturan sisi mana yang menang
Database dulu, ekspor ke sheetAplikasi memiliki data; sheet berfungsi sebagai laporanPerubahan di sheet tidak kembali ke aplikasi
Alat otomasi di tengahTanpa kode untuk alur sederhanaLangganan 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.

Mythex · Pricing · Bangun apa pun dengan AI · Template website dan aplikasi · Mythex dibandingkan · Glosarium membuat aplikasi dengan AI · Alat gratis untuk membuat aplikasi dengan AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)