Lewati ke konten utama

Google Sheets API: Panduan Langkah demi Langkah untuk Pemula

Pelajari cara membaca, menulis, memformat, dan mengotomatisasi Google Sheets menggunakan API, dengan contoh praktis.
Diperbarui 28 Sep 2026  · 15 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Google Sheets sering menjadi tempat tim menyimpan dan berbagi data. Namun, jika Anda memperbarui sheet yang sama berulang kali, menyalin-tempel secara manual hanya membuang waktu.

Google Sheets API memungkinkan Anda memperbarui dan mengelola sheet secara otomatis dari aplikasi dan skrip Anda sendiri. Anda dapat menarik data masuk, mendorong pembaruan keluar, dan menjaga laporan tetap terbaru tanpa melakukannya secara manual.

Dalam panduan ini, kami akan memandu Anda menyiapkan, membaca, menulis, memformat, dan mengotomatisasi tugas spreadsheet umum selangkah demi selangkah.

Mulai Menggunakan Google Sheets API

Untuk mulai menggunakan Google Sheets API, Anda memerlukan proyek Google Cloud dan cara untuk mengautentikasi aplikasi Anda. Mari kita lihat cara menyiapkannya secara garis besar. 

Membuat proyek Google Cloud

Semua Google API berjalan di dalam proyek Google Cloud. Proyek ini menyimpan kredensial, pengaturan API, dan batas penggunaan Anda.

Berikut cara membuat proyek pertama Anda: 

  • Buka Google Cloud Console.
  • Klik Select a project di bagian atas.
  • Muncul pop-up Select a project baru. Dari sini, klik New Project.
  • Di jendela berikutnya, masukkan nama proyek.
  • Klik Create.

Creating a new project in Google Console

Buat proyek baru di Google Console. Gambar oleh Penulis.

Setelah proyek siap, aktifkan API yang diperlukan: 

  • Buka proyek Anda.
  • Klik tiga garis di pojok kiri atas. 
  • Masuk ke APIs & Services > Enabled APIs & services.
  • Klik + Enable APIs & services.

Go to Enable APIs & Services to enable the required API in Google Console.

Masuk ke Enable APIs & Services untuk mengaktifkan API. Gambar oleh Penulis.

  • Sekarang jendela API Library muncul. Di bilah pencarian, cari Google Sheets API dan klik.
  • Klik Enable.

Enable Google Sheets API in Google Console.

Aktifkan Google Sheets API. Gambar oleh Penulis.

Jika aplikasi Anda perlu membuat, memindahkan, atau mengelola file spreadsheet, aktifkan juga Google Drive API: 

  • Cari Google Drive API.
  • Klik Enable.

Autentikasi dan otorisasi

Google Sheets API mendukung tiga metode autentikasi utama. Metode yang Anda gunakan bergantung pada cara kerja aplikasi Anda.

OAuth 2.0

Gunakan ini saat pengguna nyata masuk dan bekerja dengan spreadsheet mereka sendiri. Ini memungkinkan pengguna menyetujui akses, dan aplikasi Anda hanya dapat melakukan apa yang mereka izinkan.

Misalnya, Anda membuat aplikasi web yang memungkinkan pengguna menghubungkan akun Google mereka agar aplikasi Anda dapat membaca atau memperbarui Sheets pribadi mereka. Dalam kasus ini, gunakan OAuth 2.0. 

Berikut cara melakukannya:

  • Di Google Console, buka Navigation Menu (tiga garis di pojok kiri atas) > API & Services > OAuth consent screen

Go to OAuth consent screen in the Goolge Console.

Masuk ke OAuth consent screen. Gambar oleh Penulis.

  • Sekarang isi detailnya: 
    • Masukkan nama aplikasi yang memerlukan persetujuan pada kolom App name
    • Masukkan email dukungan agar pengguna dapat bertanya di sana dan klik Next
    • Sekarang pilih tipe audiens External dan klik Next
    • Berikutnya, isi informasi kontak (alamat email) agar Google dapat memberi tahu Anda tentang perubahan pada proyek Anda. Lalu klik Next
    • Setujui kebijakan mereka dengan mencentang kotak dan klik Continue
  • Klik Save. Pesan akan muncul menampilkan OAuth configuration created!

Sekarang, untuk mengautentikasi pengguna akhir dan mengakses data Google Sheets mereka, buat kredensial klien OAuth 2.0. Client ID mengidentifikasi aplikasi Anda secara unik ke server OAuth Google.

Berikut cara melakukannya: 

  • Klik Navigation Menu > APIs & Services > Credentials.
  • Di jendela Credentials, klik + Create credentials dan pilih OAuth client ID.

Go to OAuth client ID in the Goolge Console.

Masuk ke OAuth client ID. Gambar oleh Penulis.

  • Sekarang pilih Web Application dari dropdown Application type.
  • Masukkan nama klien OAuth 2.0 untuk identifikasi di konsol.
  • Di bawah Authorized redirect URIs, klik Add URI
  • Masukkan URL pengalihan tempat Google akan mengirim respons otorisasi. Ini harus persis sama dengan redirect URI yang dikonfigurasi di aplikasi Anda (misalnya, endpoint callback OAuth Anda)
  • Klik Create
  • Salin dan simpan Client ID dan Client Secret. 

API keys

API key mengidentifikasi proyek Anda, bukan pengguna. API key hanya berfungsi dengan spreadsheet publik dan tidak dapat mengedit file privat.

Karena itu, gunakan ini hanya saat Anda ingin membaca data dari Google Sheet publik untuk ditampilkan di situs web atau menguji skrip sederhana.

Berikut cara membuat API key Anda: 

  • Masuk ke Navigation Menu > APIs & Services > Credentials.

Go to API Keys in the Goolge Console.

Masuk ke API Keys. Gambar oleh Penulis.

  • Klik + Create credentials, lalu pilih API key.
  • Gulir ke bawah, pilih kotak Restrict key, lalu pilih API dari dropdown yang dapat digunakan oleh API key ini. 
  • Klik Create.
  • Salin dan simpan key yang dihasilkan.

Copy the generated API key from the Google Console.

Simpan API key yang dihasilkan. Gambar oleh Penulis.

Service accounts

Service account memungkinkan aplikasi Anda berjalan sendiri tanpa login pengguna. Anda membagikan spreadsheet tertentu ke email service account dan mengontrol apa yang dapat dilakukannya.

Jika Anda ingin menjalankan skrip terjadwal yang memperbarui laporan setiap malam atau menyinkronkan data dari database ke Google Sheet bersama, service account adalah opsi terbaik. 

Mari kita lihat cara membuat dan mengonfigurasinya: 

Membuat dan mengonfigurasi service account

Berikut cara melakukannya: 

  • Klik Google Sheets API yang kita aktifkan sebelumnya. 
  • Di kiri atas, klik tombol Create credentials.

Create Credentials in Google Sheets API

Buat Credentials di Google Sheets API. Gambar oleh Penulis.

  • Di jendela Create Credentials, pastikan Google Sheets API dipilih pada kolom Select an API. Sekarang pilih jenis data yang ingin Anda akses. Karena Anda menggunakan service account, pilih Application data dan klik Next.

Enter credentials

Masukkan kredensial. Gambar oleh Penulis.

  • Sekarang, jendela baru Create service account muncul:
    • Tambahkan Service account name, Service account ID, dan Service account description Anda. 
    • Klik Create and continue.

Pop-up akan muncul menampilkan Service account created.

Create a service account in Google Sheets API

Buat service account di Google Sheets API. Gambar oleh Penulis.

Service account tidak menggunakan login atau layar persetujuan. Sebagai gantinya, ia melakukan autentikasi menggunakan private key yang disimpan dalam file key JSON. File key ini memungkinkan server aplikasi membuktikan identitasnya kepada Google dan secara otomatis meminta access token.

Sekarang, untuk membuat file key: 

  • Buka service account. (Anda juga dapat menemukannya di IAM & Admin > Service Account) 
  • Buka tab Keys.
  • Klik Add key > Create new key.
  • Pilih JSON dan klik Create.

Sekarang, file akan mulai diunduh. 

Generate JSON key file for Google Sheets API

Hasilkan file key JSON untuk Google Sheets API. Gambar oleh Penulis.

Membagikan Google Sheets dengan service account

Service account tidak otomatis memiliki akses ke spreadsheet Anda. Anda harus membagikan setiap file ke email service account.

Untuk melakukannya: 

  • Buka file yang kita unduh dan cari client_email. Atau klik service account yang kita buat di menu Service Account, lalu cari Email. Keduanya adalah email yang sama. 
  • Sekarang, salin email tersebut. 

Copy the client email from the JSON key file.

Salin email klien dari file key JSON. Gambar oleh Penulis.

  • Buka Google Sheet.
  • Masuk ke opsi Share di pojok kanan atas. 
  • Tempel email yang kita salin sebelumnya ke kolom berbagi.
  • Pilih akses Viewer (mengizinkan membaca dan menulis data) atau Editor (mengizinkan hanya membaca) . 
  • Klik Send untuk membagikan akses. 

Share the service account access through Google Sheets

Bagikan akses service account melalui Google Sheets. Gambar oleh Penulis.

Menginstal library klien

Google menyediakan library klien resmi yang menyederhanakan penggunaan Sheets API. Library ini menangani autentikasi, pemformatan permintaan, dan retry untuk Anda. Faktanya, ini lebih mudah dan lebih aman daripada mengirim permintaan HTTP mentah.

Berikut contoh instalasi umum untuk bahasa populer:

Python

pip install google-api-python-client google-auth google-auth-oauthlib

Node.js

npm install googleapis

Java (tambahkan library klien menggunakan Maven)

<dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-sheets</artifactId>
</dependency>

Catatan: Library klien menghemat waktu penyiapan dan mengurangi kesalahan saat proyek Anda berkembang.

Operasi Data Inti

Google Sheets API terutama digunakan untuk membaca, menulis, memperbarui, dan memformat data spreadsheet. Mari pahami ini: 

Membaca data dari spreadsheet

Untuk membaca data dari Google Sheet, Anda memerlukan dua hal: ID spreadsheet dan rentang sel yang ingin diakses.

ID spreadsheet berasal dari URL Google Sheets. Ini adalah string panjang di antara /d/ dan /edit. Ini memberi tahu API spreadsheet mana yang harus dibaca.

Sebagai contoh, jika URL Sheets saya adalah: https://docs.google.com/spreadsheets/d/1s4-xSl1ztvdXmCUISe14XZWduQoJ4Ignz_HrgqsExPI/edit?gid=0#gid=0  

Dalam kasus ini, Spreadsheet ID-nya adalah: 1s4-xSl1ztvdXmCUISe14XZWduQoJ4Ignz_HrgqsExPI

Spreadsheet ID

Spreadsheet ID. Gambar oleh Penulis.

Rentang ditulis menggunakan notasi A1, yang menggambarkan sel dengan huruf kolom dan nomor baris. Misalnya:

  • A1 membaca satu sel

  • A1:C10 membaca satu blok sel

  • Sheet1!A:A membaca seluruh kolom

  • Sheet1!1:1 membaca seluruh baris

Untuk mengambil nilai, API menyediakan dua metode utama:

  • spreadsheets.values.get membaca data dari satu rentang. Gunakan saat Anda tahu persis tabel atau blok mana yang dibutuhkan. 

  • spreadsheets.values.batchGet membaca data dari beberapa rentang dalam satu permintaan. Gunakan saat Anda menginginkan data dari beberapa tempat sekaligus, seperti total dari satu sheet dan detail dari sheet lain.

Membaca data tidak mengubah spreadsheet. Ini hanya mengembalikan nilai agar aplikasi Anda dapat menggunakannya di tempat lain. Jadi, Anda dapat menggunakannya untuk menarik data ke dasbor, mengekspor data untuk analisis, dan membuat laporan otomatis.

Menulis data mirip dengan membaca data. Anda tetap memerlukan ID spreadsheet dan rentang, tetapi kali ini Anda juga mengirim nilai yang ingin ditulis.

Google Sheets API menyediakan dua metode utama untuk ini:

  • spreadsheets.values.update: Gunakan ini saat Anda ingin menulis data ke rentang tertentu dan menimpa yang sudah ada. Misalnya, jika Anda ingin mengganti baris header tabel dengan nama kolom baru, update adalah pilihan yang tepat. Nilai yang Anda kirim akan menggantikan sel yang ada di rentang tersebut.

  • spreadsheets.values.append: Gunakan ini saat Anda ingin menambahkan baris baru tanpa memengaruhi data yang ada. Ini berguna saat data Anda terus bertambah, seperti mencatat metrik harian, menambahkan catatan baru, atau menyimpan respons formulir. API secara otomatis menyisipkan nilai baru setelah baris terakhir yang tidak kosong.

Opsi input nilai

Saat menulis data, Anda juga perlu memilih bagaimana Google Sheets memperlakukan nilai yang Anda kirim. Ini dikontrol oleh ValueInputOption.

  • RAW menyimpan nilai persis seperti yang Anda kirim

  • USER_ENTERED memperlakukan nilai seolah-olah diketik ke dalam sheet

Misalnya, jika Anda mengirim =SUM(1,2):

  • Dengan RAW, nilainya disimpan sebagai teks biasa

  • Dengan USER_ENTERED, nilainya dievaluasi sebagai rumus

Menimpa vs. menambahkan data

Memilih antara update dan append bergantung pada bagaimana sheet Anda disusun.

Gunakan update saat:

  • Lokasi data tetap
  • Anda mengganti header atau sel yang sudah diketahui

Gunakan append saat:

  • Data tumbuh seiring waktu
  • Anda ingin menghindari menimpa baris yang ada

Operasi batch

Operasi batch memungkinkan Anda mengelompokkan beberapa perubahan dalam satu permintaan API. Ini mengurangi jumlah panggilan yang dibuat aplikasi Anda dan membantu tetap dalam batas penggunaan.

Ada dua pola batching umum di Google Sheets API.

Untuk bekerja dengan nilai, Anda dapat menggunakan:

  • spreadsheets.values.batchGet untuk membaca beberapa rentang sekaligus

  • spreadsheets.values.batchUpdate untuk menulis ke beberapa rentang dalam satu permintaan

Untuk perubahan struktural dan pemformatan, gunakan spreadsheets.batchUpdate. Ini adalah metode batching yang paling membantu dan mendukung banyak tindakan dalam satu permintaan.

Dengan spreadsheets.batchUpdate, Anda dapat menggabungkan perubahan seperti:

  • Membuat atau menghapus sheet
  • Mengganti nama spreadsheet atau tab
  • Membekukan baris header
  • Mengubah lebar kolom
  • Menerapkan pemformatan
  • Memperbarui beberapa rentang sekaligus

Misalnya, alih-alih mengirim permintaan terpisah untuk mengganti nama spreadsheet dan membuat tab baru, Anda dapat melakukan keduanya dalam satu panggilan batchUpdate. Ini lebih cepat dan lebih mudah dikelola seiring pertumbuhan alur kerja Anda.

Anda dapat menggunakan operasi batch untuk menyiapkan laporan, menerapkan pemformatan yang konsisten, atau melakukan pembaruan besar di seluruh spreadsheet.

Memperbarui dan menghapus data

Memperbarui data berarti mengganti nilai di sel atau rentang tertentu. Ini biasanya dilakukan saat Anda ingin menyegarkan angka, memperbarui KPI, atau menimpa area output tetap di sheet.

Untuk memperbarui nilai yang ada, gunakan spreadsheets.values.update. Di sini, Anda menentukan rentang target dan mengirim nilai baru, lalu data yang ada di rentang tersebut akan diganti.

Mengosongkan vs. menghapus data

Mengosongkan data dan menghapus data bukanlah hal yang sama:

Mengosongkan data menghapus nilai di dalam sel tetapi mempertahankan sheet, tata letak, dan pemformatan. Gunakan spreadsheets.values.clear saat Anda ingin mengosongkan rentang tanpa memengaruhi strukturnya.

Contoh: Mengosongkan bagian laporan lama sebelum menulis data baru ke sel yang sama.

Menghapus data menghapus seluruh tab sheet. Ini dilakukan menggunakan spreadsheets.batchUpdate dengan permintaan deleteSheet. Menghapus sheet akan menghapus data dan strukturnya secara permanen.

Karena menghapus sheet tidak dapat dibatalkan, sebaiknya gunakan dengan hemat dan hanya saat Anda yakin datanya tidak lagi diperlukan.

Fitur dan Fungsionalitas Lanjutan

Selain membaca dan menulis data, Google Sheets API memungkinkan Anda mengontrol tampilan dan perilaku spreadsheet. Ini memungkinkan otomatisasi pemformatan dan aturan visual dalam skala besar.

Pemformatan dan pemformatan bersyarat

Google Sheets API memungkinkan Anda menerapkan pemformatan sel secara terprogram alih-alih melalui antarmuka Sheets. Ini mencakup gaya teks, warna, format angka, dan perubahan tata letak.

Semua perubahan pemformatan dikirim sebagai permintaan JSON menggunakan spreadsheets.batchUpdate. Setiap permintaan menjelaskan apa yang diubah dan di mana menerapkannya.

Tugas pemformatan umum meliputi:

  • Menebalkan baris header
  • Menerapkan format angka untuk mata uang atau persentase
  • Mengatur lebar kolom
  • Menetapkan warna latar untuk rentang tertentu

Sebagai contoh, permintaan pemformatan dapat menargetkan baris pertama sheet dan menebalkannya dengan warna latar yang lembut. Permintaan menggunakan indeks berbasis nol, di mana baris 0 mewakili baris pertama.

Pemformatan bersyarat

Pemformatan bersyarat memungkinkan Anda menata sel secara otomatis berdasarkan nilainya. Jika Anda ingin Sheets menyorot data penting tanpa tinjauan manual, pemformatan bersyarat dapat membantu. 

Menggunakan API, aturan pemformatan bersyarat ditetapkan dalam JSON dan diterapkan melalui spreadsheets.batchUpdate.

Anda dapat menggunakannya untuk:

  • Menyorot nilai negatif dengan warna merah
  • Menandai nilai di atas atau di bawah ambang batas
  • Secara otomatis menata baris yang memenuhi kondisi tertentu

Misalnya, Anda dapat menetapkan aturan yang menyorot nilai apa pun di bawah 0 di kolom tertentu. Setelah diterapkan, pemformatan akan diperbarui secara otomatis seiring perubahan data.

Pivot table dan agregasi data

Google Sheets API dapat membuat dan memperbarui pivot table melalui kode. Pivot table meringkas dataset besar tanpa mengubah data asli, yang membantu pelaporan dan analisis.

Yang perlu Anda lakukan adalah mendefinisikan pivot table menggunakan permintaan JSON dan menerapkannya dengan spreadsheets.batchUpdate. Permintaan ini menjelaskan bagaimana data harus dikelompokkan, diringkas, dan ditampilkan.

Melalui API, Anda dapat:

  • Memilih kolom mana yang menjadi label baris
  • Memilih metode agregasi seperti jumlah, hitung, atau rata-rata
  • Mengontrol di mana pivot table muncul
  • Menyegarkan atau memodifikasi pivot table saat data baru ditambahkan

Misalnya, Anda dapat mengelompokkan baris menurut kata kunci dan secara otomatis menghitung total klik dan impresi. Seiring perubahan data dasar, pivot table akan diperbarui secara otomatis.

Connected Sheets dan integrasi BigQuery

Connected Sheets memungkinkan Google Sheets bekerja langsung dengan BigQuery. BigQuery menangani dataset besar, sementara Sheets digunakan untuk analisis dan pelaporan. 

Alih-alih menyalin jutaan baris ke sheet, Connected Sheets menjalankan kueri di BigQuery dan menampilkan hasilnya. Ini menjaga spreadsheet tetap cepat dan responsif, bahkan dengan dataset yang sangat besar.

Koneksi dibuat dari dalam Google Sheets. Google Sheets API tidak digunakan untuk menyiapkan koneksi itu sendiri.

Jadi, begini cara kerjanya:

  • Data berada di tabel BigQuery
  • Anda menghubungkan Google Sheet ke tabel tersebut
  • Sheets menjalankan kueri dan menampilkan hasil
  • Data dapat disegarkan tanpa mengekspor file

Setelah terhubung, Anda dapat membuat pivot table, menerapkan rumus, dan membuat laporan langsung di Sheets.

Autentikasi dan izin

Akses ke Connected Sheets dikontrol melalui Google Cloud Identity and Access Management.

Akun yang menghubungkan Sheets ke BigQuery harus memiliki:

  • Izin BigQuery Data Viewer
  • Izin BigQuery Job User
  • Akses ke Google Sheet

Autentikasi ditangani secara otomatis melalui antarmuka Google Sheets.

Namun, Anda harus menyadari beberapa batasan. Meskipun Sheets API dapat membaca data dari Connected Sheets dan menerapkan pemformatan atau membangun pivot table, API tidak dapat mengubah kueri BigQuery yang mendasarinya atau menulis data kembali ke rentang yang didukung BigQuery.

Itulah sebabnya Connected Sheets paling cocok untuk analisis dan pelaporan, bukan untuk memasukkan atau mengedit data mentah.

Menggunakan alat integrasi tanpa kode

Tidak semua alur kerja memerlukan kode kustom. Beberapa alat no-code dan low-code terhubung langsung ke Google Sheets API dan menangani detail teknis untuk Anda. Tiga opsi paling populer meliputi:

Alat-alat ini menyediakan antarmuka visual untuk memilih sumber data, mengatur jadwal, dan mengirim hasil ke Google Sheets. Mereka menangani autentikasi, permintaan API, dan penanganan kesalahan di latar belakang.

Ini membuat alat no-code cocok bagi pemasar dan analis yang membutuhkan pipeline data andal tanpa menulis kode. Alat-alat ini juga mengurangi waktu penyiapan untuk kasus penggunaan pelaporan dan dasbor umum.

Harga dan Batas API

Untuk sebagian besar proyek, Anda dapat menggunakan Google Sheets API secara gratis. Hal utama yang perlu dipahami adalah bagaimana batas penggunaan bekerja.

Gambaran harga API

Google tidak menagih Anda per permintaan atau per tindakan spreadsheet. Sebagai gantinya, penggunaan dikontrol oleh kuota. 

Selama proyek Anda tetap dalam batas tersebut, Anda dapat menggunakan API tanpa biaya. Jika melebihi, permintaan akan diblokir sementara hingga penggunaan turun atau batas ditingkatkan.

Batas penggunaan dan kuota

Google Sheets API memberlakukan batasan untuk menjaga kestabilan kinerja dan mencegah penyalahgunaan. Batasan ini biasanya berlaku per proyek dan, dalam beberapa kasus, per pengguna.

Sebagian besar proyek menghadapi dua jenis batas utama:

1. Permintaan per menit: Batas ini mengontrol berapa banyak panggilan API yang dapat dikirim proyek Anda dalam waktu singkat. Terlalu banyak permintaan kecil yang dikirim sekaligus dapat memicu kesalahan sementara.

Secara default, Google Sheets API mengizinkan:

Permintaan baca

Permintaan tulis

300 permintaan per menit per proyek

300 permintaan per menit per proyek

60 permintaan per menit per pengguna

60 permintaan per menit per pengguna

2. Permintaan per hari: Untuk membaca dan menulis data, tidak ada batas harian tetap tentang berapa banyak permintaan yang dapat dibuat proyek Anda. Anda dapat terus menggunakan API sepanjang hari (periode 24 jam). 

Batasan sebagian besar berlaku untuk jumlah permintaan yang Anda kirim per menit, bukan total sepanjang hari.

Agar tetap dalam batas dan menghindari masalah:

  • Gabungkan beberapa pembaruan dalam satu permintaan
  • Hindari pembacaan berulang untuk perubahan kecil
  • Cache data alih-alih mengambil ulang
  • Pantau penggunaan di Google Cloud Console dan lakukan penyesuaian sejak dini

Optimasi Performa dan Manajemen Kuota

Saat Anda mengotomatisasi Google Sheets, masalah performa biasanya muncul karena mengirim terlalu banyak permintaan terlalu cepat. Jadi, penting untuk memahami cara kerja kuota. 

Memahami kuota API dan batas laju

Google menerapkan kuota untuk membatasi berapa banyak permintaan yang dapat dikirim proyek Anda dalam waktu tertentu. Beberapa batas berlaku per proyek, dan lainnya berlaku per pengguna.

Batasan ini berdampak langsung pada alur kerja otomatis. Jika skrip Anda mengirim terlalu banyak permintaan terlalu cepat, API mulai mengembalikan kesalahan, dan alur kerja berhenti. Ini sering terjadi saat skrip:

  • Memperbarui baris satu per satu
  • Berulang kali membaca rentang besar
  • Berjalan terlalu sering tanpa batching

Memantau penggunaan membantu Anda menangkap masalah lebih awal. Di Google Cloud Console, Anda dapat melihat seberapa dekat proyek Anda dengan batasnya dan melihat lonjakan aktivitas secara tiba-tiba. Begini caranya:

  • Buka proyek Anda.
  • Buka APIs & Services > Enabled API Services 
  • Klik Google Sheets API.
  • Buka Quotas & System Limits.

Jika Anda melihat lonjakan tiba-tiba, itu biasanya menandakan pola permintaan yang tidak efisien.

Quotas and System Limits in Google Sheets API.

Kuota dan batas sistem. Gambar oleh Penulis.

Menerapkan exponential backoff

Bahkan skrip yang ditulis dengan baik dapat mengalami kesalahan API sementara. Yang paling umum mudah dikenali:

  • Kesalahan 429 berarti terlalu banyak permintaan dikirim dalam waktu singkat
  • Kesalahan 5xx berarti API mengalami masalah server sementara

Kesalahan ini sering teratasi dengan sendirinya. Mencoba lagi segera dapat memperburuk masalah.

Exponential backoff adalah cara standar untuk mencoba ulang permintaan dengan aman. Alih-alih mencoba lagi segera, skrip Anda menunggu sebelum mencoba lagi. Waktu tunggu meningkat setelah setiap kegagalan.

Pola backoff sederhana seperti ini:

  • Kirim permintaan
  • Jika Anda mendapat kesalahan 429 atau 5xx, tunggu satu detik
  • Coba lagi
  • Jika gagal lagi, tunggu dua detik, lalu empat, lalu delapan
  • Berhenti setelah waktu tunggu maksimum atau jumlah percobaan ulang tertentu

Pendekatan ini mengurangi tekanan pada API dan meningkatkan peluang keberhasilan percobaan ulang.

Exponential backoff dalam praktik

Berikut contoh Python sederhana yang mencoba ulang permintaan menggunakan exponential backoff:

import time
from googleapiclient.errors import HttpError

def run_with_backoff(callable_request, max_retries=5):
    delay = 1

    for attempt in range(max_retries):
        try:
            return callable_request()
        except HttpError as e:
            status = getattr(e.resp, "status", None)

            if status in [429, 500, 502, 503, 504]:
                time.sleep(delay)
                delay = min(delay * 2, 32)
                continue

            raise

    raise RuntimeError("Request failed after retries.")

Anda kemudian dapat membungkus panggilan API apa pun dengan helper ini:

result = run_with_backoff(
    lambda: service.spreadsheets().values().get(
        spreadsheetId=spreadsheet_id,
        range="Report!A1:E100"
    ).execute()
)

Ini mencegah skrip Anda langsung gagal saat masalahnya bersifat sementara, membantu alur kerja Anda berjalan lebih andal.

Strategi optimasi

Performa meningkat saat Anda mengirim lebih sedikit permintaan dan menjaga payload tetap kecil. Sebagian besar perlambatan terjadi saat skrip melakukan terlalu banyak pekerjaan dalam satu panggilan.

Berikut teknik paling efektif untuk mencegah perlambatan:

Permintaan batch

Metode batch seperti spreadsheets.values.batchGet, spreadsheets.values.batchUpdate, dan spreadsheets.batchreadsheets.batchUpdate memungkinkan Anda menggabungkan banyak tindakan dalam satu permintaan. Ini memberikan peningkatan performa terbesar.

Caching

Berulang kali membaca data yang sama membuang waktu dan kuota. Ambil metadata spreadsheet atau sheet ID sekali, lalu gunakan kembali selama skrip berjalan.

Paginasi

Beberapa respons API mengembalikan data dalam halaman. Proses satu halaman pada satu waktu alih-alih memuat semuanya sekaligus. Ini menghindari timeout dan masalah memori saat bekerja dengan dataset besar.

Kompresi Gzip

Sebagian besar library klien Google dan klien HTTP secara otomatis mendukung kompresi gzip. Kompresi mengurangi ukuran saat respons besar, seperti saat membaca rentang lebar atau mengambil metadata spreadsheet.

Respons parsial

Jika tersedia, minta hanya field yang Anda butuhkan alih-alih seluruh resource. Respons yang lebih kecil lebih cepat dan menggunakan lebih sedikit bandwidth.

Meminimalkan ukuran payload

Hindari menulis satu sel pada satu waktu. Tulis rentang penuh sebagai gantinya. Lewati pembaruan pemformatan jika tidak ada yang berubah, dan jangan kirim ulang data yang tidak perlu.

Aturan sederhana yang efektif: jika skrip melakukan loop melalui baris dan membuat panggilan API di dalam loop itu, skrip tersebut tidak akan skala. Lakukan batch pekerjaan, kurangi jumlah permintaan, dan jaga payload tetap kecil.

Penanganan Error dan Pemecahan Masalah

Kesalahan adalah bagian dari bekerja dengan API apa pun. Jadi, mari kita bahas cara memperbaiki masalah dengan cepat dan menjaga otomatisasi tetap andal. 

Masalah autentikasi umum

Masalah autentikasi adalah sumber kesalahan paling umum saat mulai menggunakan Google Sheets API. Sebagian besar berasal dari penyiapan, bukan bug di kode Anda.

Masalah umum meliputi:

  • Permission denied errors: Spreadsheet tidak dibagikan ke email service account, atau pengguna tidak memberikan scope OAuth yang diperlukan
  • Invalid credentials atau file not found errors: Path file key JSON salah atau nama file tidak cocok
  • API not enabled errors: Google Sheets API tidak diaktifkan di proyek Google Cloud yang sama dengan kredensial

Masalah OAuth sering terjadi saat scope tidak cocok dengan tindakan yang Anda coba lakukan. Misalnya, scope read-only tidak akan mengizinkan penulisan.

Masalah service account biasanya berasal dari berbagi file yang kurang. Service account tidak dapat melihat spreadsheet apa pun kecuali secara eksplisit dibagikan ke alamat emailnya.

Kesalahan pemformatan data dan permintaan

Kesalahan permintaan biasanya terjadi saat data yang dikirim tidak sesuai dengan yang diharapkan API. Pesan kesalahan sering deskriptif, tetapi tetap bisa membingungkan pada awalnya.

Penyebab umum meliputi:

  • Notasi A1 tidak valid: Nama sheet salah eja atau rentang tidak ada

  • Struktur data tidak benar: Nilai harus dikirim sebagai array dua dimensi, bahkan untuk satu baris

  • Ketidaksesuaian tipe: Angka, tanggal, dan rumus berperilaku berbeda tergantung valueInputOption

Saat melakukan troubleshooting, selalu baca respons kesalahan lengkap karena Google API biasanya menunjuk ke field tepat yang gagal divalidasi.

Ketersediaan layanan dan tantangan performa

Seperti layanan cloud lainnya, Google Sheets API sesekali dapat mengembalikan kesalahan server seperti 503 Service Unavailable saat beban tinggi atau gangguan sementara.

Kesalahan ini biasanya bersifat sementara. Namun jangan langsung mencoba lagi karena itu dapat memperburuk keadaan.

Untuk menangani masalah keandalan dengan lebih efektif:

  • Coba ulang permintaan hanya untuk kesalahan sementara seperti respons 429 dan 5xx
  • Gunakan exponential backoff di antara percobaan ulang
  • Lakukan batch permintaan untuk mengurangi lalu lintas
  • Pantau penggunaan kuota untuk menghindari mencapai batas

Integrasi yang tangguh mengasumsikan beberapa permintaan akan gagal. Retry yang tepat, batching, dan pemantauan memungkinkan skrip Anda pulih secara otomatis dan terus berjalan tanpa intervensi manual.

Praktik Terbaik dan Keamanan

Google Sheets API mudah digunakan, tetapi keandalan jangka panjang bergantung pada bagaimana kita merancang dan mengamankan penyiapan kita.

Alat dan sumber daya pengembangan

Google menyediakan alat dan sumber daya resmi untuk membuat pengembangan lebih aman dan mudah:

  • Google Workspace APIs Explorer memungkinkan Anda menguji permintaan Sheets API langsung di browser. Anda dapat bereksperimen dengan endpoint, melihat parameter yang diperlukan, dan meninjau respons tanpa menulis kode. 
  • Panduan cepat Sheets API memandu penyiapan dasar untuk berbagai bahasa. Panduan ini menunjukkan autentikasi, panggilan baca atau tulis sederhana, dan langkah konfigurasi umum. 
  • Dokumentasi resmi mencerminkan perilaku saat ini dan batas yang diketahui.
  • Spreadsheet uji memungkinkan Anda bereksperimen tanpa mempertaruhkan data produksi atau menimpa laporan live.

Penggunaan library klien dan SDK

Google memelihara library klien resmi untuk Sheets API. Library ini menangani autentikasi, retry, dan pemformatan permintaan. Kita dapat mengurangi kesalahan dan menghemat waktu dengan library yang didukung. Library ini juga lebih mudah beradaptasi dengan pembaruan API dibandingkan kode HTTP kustom.

Bahasa yang didukung adalah Python, JavaScript dengan Node.js, Java, dan Go.

Setiap library mengikuti struktur inti API yang sama, tetapi beberapa menawarkan helper khusus bahasa. Python dan Node.js sering dipilih untuk otomatisasi karena penyiapannya lebih sederhana dan dukungan komunitas yang kuat.

Library klien juga terintegrasi dengan baik dengan Google API lainnya, yang membantu saat alur kerja melibatkan Drive, BigQuery, atau Gmail.

Manajemen kredensial dan keamanan

Kredensial mengontrol akses ke data Anda, jadi tangani dengan benar dengan mengikuti praktik terbaik berikut:

  • Jangan pernah meng-commit file key ke version control

  • Simpan key di luar repositori publik

  • Gunakan variabel lingkungan atau secret manager di produksi

  • Berikan hanya izin yang diperlukan

  • Pilih peran sempit daripada yang luas

  • Batasi akses service account untuk tugas tertentu

  • Waspadai lonjakan tidak biasa atau pola akses yang tidak dikenal

  • Rotasi key secara berkala dan cabut serta ganti key yang terekspos segera

Penutup 

Langkah terbaik berikutnya adalah mengotomatisasi satu tugas kecil yang sudah rutin Anda lakukan secara manual. Pilih spreadsheet yang Anda kendalikan, baca satu rentang, lalu tulis atau tambahkan data ke sana. Setelah berhasil, jadwalkan dan biarkan berjalan sendiri.

Di situlah Google Sheets API mulai memberikan manfaat. 

Anda tidak perlu sistem yang kompleks sejak awal. Satu alur kerja yang andal sudah cukup untuk menghemat waktu, dan membuat alur berikutnya jauh lebih mudah. Jika Anda ingin mengasah keterampilan tersebut bersamaan dengan otomatisasi, lihat jalur Google Sheets Fundamentals kami atau Introduction to Google Sheets, serta kursus Intermediate Google Sheets untuk mendapatkan lebih banyak nilai dari setiap alur kerja yang Anda otomasi.


Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Saya seorang ahli strategi konten yang senang menyederhanakan topik kompleks. Saya telah membantu perusahaan seperti Splunk, Hackernoon, dan Tiiny Host membuat konten yang menarik dan informatif untuk audiens mereka.

FAQs

Apa perbedaan antara Sheets API dan Google Apps Script?

Sheets API paling tepat digunakan saat logika Anda berada di luar Google (misalnya backend, ETL, layanan). Jika Anda menginginkan sesuatu yang cepat dan berjalan di dalam Google Sheets, gunakan Apps Script.

Bisakah saya menggunakan Google Sheets API tanpa Google Cloud Console?

Tidak. Setiap permintaan API harus termasuk dalam proyek Google Cloud. Konsol diperlukan untuk mengaktifkan API dan membuat kredensial.

Apakah mungkin melacak siapa yang mengubah data melalui API?

Ya. Riwayat edit di Google Sheets tetap mencatat perubahan, tetapi edit oleh service account akan muncul dengan nama service account.

Apakah API bekerja sama untuk file Excel?

Tidak. API hanya berfungsi dengan Google Sheets. File Excel harus dikonversi sebelum digunakan.

Apa cara paling aman untuk mulai menggunakan API?

Mulailah dengan akses hanya-baca pada spreadsheet uji, lalu secara bertahap tambahkan izin tulis.

Topik
Spreadsheet

Belajar bersama DataCamp

Kursus

Pengantar Google Sheets

2 jam
52.4K
Hidupkan Google Sheets Anda dengan menguasai keterampilan dasar seperti rumus, operasi, dan referensi sel.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya