Rancang izin aplikasi terpisah dari penyimpanan kunci

Pisahkan status publik dari pencarian berkunci. Rencanakan kueri yang diizinkan, rahasia server, pemeriksaan respons, dan keputusan mencoba kembali tanpa janji kinerja.

Tentukan batas izin aplikasi Anda

Menyimpan kunci arsip di server tidak berarti semua permintaan ke aplikasi Anda sudah berizin. Tentukan siapa yang dapat memulai kueri dan bidang apa yang boleh mereka lihat. Reddit Gateway adalah arsip Reddit historis independen, tanpa afiliasi dengan Reddit. Tidak tersedia data langsung, OAuth Reddit, atau tindakan tulis. Sesi pengguna dan keputusan izin aplikasi Anda merupakan tanggung jawab terpisah dari autentikasi permintaan ke sumber arsip.

Jangan meneruskan alamat masukan pengguna begitu saja. Ubah masukan menjadi q, subreddit, serta kondisi tanggal yang Anda izinkan. Tetapkan batas catatan dan halaman sesuai kebutuhan layanan sendiri. Saran ini bukan fitur keamanan tambahan API, melainkan keputusan untuk memperjelas lingkup aplikasi Anda. Tidak ada sistem peran tertentu, layar izin perusahaan, atau hasil pencegahan penyalahgunaan otomatis yang dijanjikan dari keputusan tersebut.

Simpan kunci asli dalam konfigurasi rahasia server. Gunakan Authorization: Bearer YOUR_API_KEY atau X-API-Key: YOUR_API_KEY, bukan parameter URL atau kode browser. Jangan mencatat header rahasia. Cookie Secure HttpOnly pada panel akun dipakai untuk operasi akun dan bukan pengganti kunci arsip. Regenerasi langsung membatalkan nilai lama, jadi periksa pekerjaan aplikasi yang menggunakannya dan perbarui konfigurasi sesuai perubahan kunci.

Bedakan status publik dari kueri nyata

GET /v1/status tidak memerlukan kunci dan tidak menghabiskan kredit. Respons menunjukkan cakupan layanan tetap serta aplikasi HTTP yang merespons. Sumber arsip, pencarian, catatan, kunci, dan saldo tidak diperiksa. Jangan memberi label kesehatan arsip pada hasilnya. Jangan pula menghasilkan angka latensi atau ketersediaan yang tidak diukur, atau menyimpulkan status kueri yang belum dijalankan dari satu respons publik tersebut.

Untuk pencarian nyata, gunakan https://api.redditgateway.com/v1/search?q=database&subreddit=backend&limit=3. q menentukan kondisi teks, subreddit komunitas, dan limit maksimum catatan dalam satu respons. Periksa HTTP serta bidang yang tersedia. Jika hasil kosong, jelaskan keadaan kosong kepada pengguna; jangan mengisi informasi yang hilang dengan dugaan. Menyalin teks ke antrean pemeriksaan lokal adalah pengolahan aplikasi, bukan analitik otomatis yang dikembalikan API.

Respons API berisi catatan flat dan bukan pohon thread yang dirakit oleh server. Meskipun bidang parent_id dan link_id ada dalam catatan yang dikembalikan, klien dapat mengelompokkannya secara lokal tanpa jaminan kelengkapan konteks percakapan. Tidak ada filter query yang terpapar untuk link_id atau parent_id, dan urutan dokumen arsip didasarkan pada urutan _doc, bukan urutan kronologis atau relevansi. Membaca atau menghitung tidak memerlukan pohon; pengelompokan hanya diperlukan bila tujuan lokal Anda memang meneliti hubungan.

Bila perlu, gunakan author, kind, serta from dan to dalam format UTC YYYY-MM-DD; hari to termasuk. min_score adalah ambang skor, bukan pengurutan. Pilih kondisi sebelum mengirim permintaan. Mempersempit kueri dapat mengatur relevansi masukan bagi pekerjaan Anda, tetapi tidak menjamin hasil tersedia atau menghapus biaya respons kosong yang berhasil.

Gabungkan rencana halaman, kesalahan, dan biaya

Satu permintaan mengambil paling banyak 100 catatan dan satu kueri paling banyak 100 halaman. Masing-masing diminta terpisah. Urutan dokumen arsip bukan waktu, relevansi, atau skor. Relasi total eq berarti tepat, gte batas bawah, dan unknown atau null tidak adanya total andal. Total tepat tidak membuktikan semua catatan sudah tersimpan. Pembagian tanggal tidak menjamin pengambilan lengkap atau bebas duplikasi.

Periksa kondisi untuk HTTP 400, kunci untuk 401, saldo untuk 402, dan tunda pengiriman untuk 429. Permintaan tidak valid tidak mendebit; kegagalan sumber hulu mengembalikan cadangan kredit. Namun, server dapat berhasil sebelum koneksi klien terputus. Setiap pengambilan berhasil, termasuk kosong, menggunakan satu kredit dan pengulangan berhasil berbiaya lagi. Jangan menempatkan semua kesalahan dalam satu pengulangan tanpa batas.

Catat kueri, halaman, dan respons yang sudah disimpan memakai pengenal pekerjaan sendiri tanpa mengungkap rahasia. Dengan itu, keadaan penyimpanan lokal dapat dipertimbangkan saat memutuskan mencoba kembali. Catatan tersebut tidak membuktikan cakupan atau keabadian arsip. Beranda memuat contoh awal, Dokumentasi kontrak teknis, Harga biaya, dan Dapatkan kunci API langkah akun. Keberhasilan contoh tidak membuktikan semua izin aplikasi sudah benar dirancang.

Dapatkan kunci API