Batas dan Kuota

Batas dan kuota melindungi infrastruktur Google dari proses otomatis yang menggunakan Reports API dengan cara yang tidak tepat. Permintaan yang berlebihan dari API mungkin disebabkan oleh kesalahan ketik yang tidak berbahaya, atau mungkin disebabkan oleh sistem yang dirancang secara tidak efisien sehingga melakukan panggilan API yang tidak perlu. Terlepas dari penyebabnya, memblokir traffic dari sumber tertentu setelah mencapai tingkat tertentu diperlukan untuk kesehatan keseluruhan sistem Google Workspace. Hal ini memastikan bahwa tindakan satu developer tidak dapat berdampak negatif pada komunitas yang lebih besar.

Jika permintaan API Anda gagal, Anda akan menerima respons kode status HTTP. Kode status 403 memiliki informasi error tentang input yang salah dan kode status HTTP 503 memiliki informasi error yang menunjukkan kuota API mana yang telah terlampaui. Respons ini memungkinkan aplikasi kustom Anda mendeteksi error ini dan mengambil tindakan yang sesuai.

Jika permintaan Anda harus diselesaikan dalam jangka waktu tetap, kirim permintaan Anda secara paralel atau gunakan beberapa thread di aplikasi Java atau C# Anda. Contoh permintaan paralel adalah meminta batch kecil email dari pengguna yang berbeda, bukan menambahkan atau menghapus banyak email dari satu pengguna secara bersamaan. Untuk rangkaian pesan, coba mulai dengan 10 rangkaian pesan, satu rangkaian pesan per email pengguna. Perhatikan bahwa rekomendasi thread memiliki kekurangan dan tidak berguna untuk semua situasi API. Jika jumlah permintaan terlalu tinggi, error kuota akan terjadi.

Untuk semua error berbasis waktu (maksimum N item selama N detik per thread), terutama error kode status 503, sebaiknya kode Anda menangkap pengecualian dan, menggunakan algoritma backoff eksponensial, menunggu penundaan singkat sebelum mencoba ulang panggilan yang gagal. Contoh Reports API untuk satu thread adalah menunggu 5 detik dan mencoba ulang panggilan yang gagal. Jika permintaan berhasil, ulangi pola ini untuk thread lainnya. Jika permintaan kedua tidak berhasil, aplikasi Anda harus mengurangi frekuensi permintaan hingga panggilan berhasil. Misalnya, tingkatkan penundaan awal 5 detik menjadi 10 detik dan coba lagi panggilan yang gagal. Selain itu, tentukan batas percobaan ulang. Misalnya, coba lagi permintaan 5 hingga 7 kali dengan waktu tunda yang berbeda sebelum aplikasi Anda menampilkan error kepada pengguna.

Batas

Kategori Batas API Batas
Melaporkan rasio QPS dan QPD API membatasi jumlah permintaan untuk project Google Cloud Anda. Nilai default yang ditetapkan di konsol Google Cloud adalah 2.400 kueri per menit per pengguna per project Google Cloud. Anda dapat meningkatkan batas ini dari halaman Kuota Admin SDK API project Google Cloud Anda.

Jika batas ini terlampaui, server akan menampilkan kode status HTTP 503. Gunakan algoritma backoff eksponensial saat mencoba ulang permintaan Anda.

Batas tambahan untuk activities.list activities.list API memiliki batas tambahan 250 kueri filter per menit (15.000 kueri filter per jam). Kueri filter adalah permintaan API yang berisi setidaknya satu parameter kueri berikut:
  • userKey
  • actorIpAddress
  • eventName
  • filters
  • orgUnitID
  • groupIdFilter
Kategori Kuota API Kuota
maxResults Jumlah data yang tercantum di setiap halaman respons API adalah dari 0 hingga 1.000 data. Defaultnya adalah 1.000 data.

Jenis Batas Lainnya

Jenis Batas Lainnya Batasan dan Pedoman
Format data, default Format data default adalah JSON. API ini juga mendukung format Atom.
Permintaan tidak sah Google tidak mengizinkan permintaan yang tidak sah ke API. Permintaan dianggap tidak sah jika tidak ada token otorisasi yang diberikan. Untuk mengetahui informasi selengkapnya, lihat Mengizinkan permintaan.
Pesan peringatan
  • Data tidak tersedia: Data untuk aplikasi ini dan untuk tanggal ini tidak tersedia dan tidak akan tersedia di masa mendatang.
  • Data parsial tersedia: Data untuk aplikasi ini dan untuk tanggal ini mungkin tersedia pada masa mendatang.
Untuk sintaksis peringatan Reports API, lihat Referensi API untuk pelanggan dan untuk pengguna.

Praktik terbaik untuk activities.list

Metode activities.list diharapkan digunakan untuk penyelidikan audit. Untuk performa terbaik, permintaan Anda harus menyertakan rentang waktu menggunakan parameter startTime dan endTime. Rentang waktu yang lebih sempit akan menghasilkan waktu respons yang jauh lebih cepat. Metode ini tidak ditujukan untuk pengambilan log audit bervolume tinggi. Jika Anda sering kali menghabiskan kuota permintaan filter activities.list, pertimbangkan opsi berikut:

  • Siapkan ekspor log Google Workspace ke BigQuery dan gunakan API kueri BigQuery yang canggih untuk mengambil dan menganalisis data yang Anda butuhkan tanpa batasan kuota API.
  • Gunakan permintaan non-filter dengan rentang waktu dan lakukan pemfilteran sisi klien (yaitu lakukan logika pemfilteran di aplikasi Anda), alih-alih menggunakan permintaan filter. Dengan begitu, Anda dapat melampaui batas 250 kueri filter per menit, tetapi Anda tetap tunduk pada batas 2.400 kueri per menit per pengguna per project Google Cloud.