Memotivasi: Apakah ada batasan untuk penggunaan API Publik?
Batas Tarif
API beroperasi dengan batas kecepatan 1 .200 permintaan per 10 menit. Ini berarti Anda dapat mengirim maksimum 2 permintaan per detik dalam periode 10 menit. Perhatikan bahwa batas ini digunakan bersama di semua titik akhir kami, bukan dihitung ke masing-masing titik akhir.
Jika melebihi batas ini, Anda akan menerima respons 429 Terlalu Banyak Permintaan.
Status batas kecepatan saat ini tersedia di header RateLimit.
Contoh:
RateLimit: limit = 1200, sisa = 956, reset = 543
Lihat Draf IETF untuk detail lebih lanjut.
Jika Anda mengalami masalah dalam mencapai batas ini, mohon berikan periode jeda di antara permintaan untuk mencapai batas ini lagi.
Filter / Argumen Jalur
Ada batas 50 argumen (yaitu ID pengguna) per panggilan saat memfilter menggunakan argumen jalur.
Penomoran halaman
Hasil maksimal per halaman adalah 50. Gunakan parameter kueri halaman dan per_halaman untuk mengambil hasil tambahan.
Contoh:
/users?page=3&per_page=30
Bagaimana cara mengambil semua data dari API dengan batas pagination?
Catatan: Contoh ini menggunakan GET /groups, tetapi Anda dapat mengulangi langkah-langkahnya dengan titik akhir lain.
-
-
Ambil semua data:
for i in {1..NUMBER_OF_PAGES}; do curl -X GET "https://motimateapp.com/public_api/groups?page=$i" done - Menyimpan data pada mesin Anda.
-
Ambil hanya sumber daya yang telah diperbarui atau dibuat setelah pengambilan terakhir (misalnya satu hari yang lalu) dan gabungkan dengan data yang sudah Anda miliki:
curl -X GET "https://motimateapp.com/public_api/groups?filter[created_at_gt]=<ONE_DAY_AGO>" curl -X GET "https://motimateapp.com/public_api/groups?filter[updated_at_gt]=<ONE_DAY_AGO>" - Setiap kali Anda melakukan permintaan HAPUS, hapus sumber daya dari salinan Anda.
- Secara berkala (misalnya mingguan) lakukan sinkronisasi ulang dengan mengambil semua data lagi dan memperbarui salinan Anda.
-
0 komentar
Harap masuk untuk memberikan komentar.