Reddit Fetch

Mulai dengan pratinjau tiga komentar historis

Buat pratinjau komentar historis dengan fetch di server. Periksa HTTP dan JSON, simpan kunci secara privat, serta bedakan hasil kosong dari kegagalan.

Dapatkan kunci API

Contoh permintaan

JavaScript

const response = await fetch("https://api.redditfetch.com/v1/comments?subreddit=javascript&limit=3", {
  headers: { Authorization: "Bearer YOUR_API_KEY" }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const payload = await response.json();
console.log(payload);

Tentukan tugas kecil untuk tampilan pertama

Pratinjau komentar dapat dimulai dengan pertanyaan sederhana: potongan mana yang bisa ditampilkan dari rekaman yang diterima aplikasi? Reddit Fetch memberi pengembang JavaScript akses ke arsip Reddit historis independen. Pilih satu komunitas dan tentukan pesan untuk teks yang tidak tersedia sebelum menulis panggilan. Dengan begitu, setiap keputusan pengolahan memiliki tujuan yang jelas di layar aplikasi Anda.

Contoh menggunakan GET https://api.redditfetch.com/v1/comments?subreddit=javascript&limit=3. Parameter subreddit=javascript memilih komunitas, sedangkan limit=3 meminta paling banyak tiga komentar. Angka tiga adalah batas, bukan janji tiga kartu terisi. Rekaman yang datang bisa lebih sedikit atau tidak ada sama sekali. Komentar tersebut juga tidak harus berasal dari percakapan yang sama; letaknya berdekatan dalam daftar tidak membuktikan hubungan balasan.

Jalankan panggilan dalam proses server

Gunakan fetch pada layanan Node.js dan baca REDDIT_FETCH_API_KEY dari konfigurasi server yang privat. Pastikan nilainya tersedia sebelum memanggil arsip. Authorization: Bearer <key> dan X-API-Key: <key> sama-sama diterima. Penanda itu mewakili rahasia yang Anda simpan, bukan kredensial untuk disertakan dalam berkas JavaScript yang diunduh browser pengunjung. Server membutuhkan kunci tersebut, sementara pengguna cukup menerima hasil tampilannya.

Tetapkan tujuan panggilan pertama secara tetap. Setelah memeriksa respons, server dapat mengirim representasi terbatas sesuai kebutuhan pratinjau. Jangan teruskan kunci atau jadikan URL sembarang dari pengunjung sebagai tujuan permintaan berkredensial. Tentukan pula siapa yang boleh menyegarkan layar. Menyembunyikan rahasia tidak otomatis membatasi jumlah panggilan berbayar yang bisa dipicu melalui rute aplikasi Anda sendiri.

Berikan arti yang tepat pada setiap hasil

Promise fetch yang terpenuhi belum membuktikan keberhasilan HTTP. Periksa response.ok sebelum menganggap isi respons sebagai komentar, kemudian uraikan JSON dan validasi kolom yang diperlukan. Pengecualian jaringan merupakan hasil berbeda, dan penguraian JSON pun bisa gagal setelah respons diterima. Jangan mengubah semua keadaan itu menjadi satu pesan bahwa daftar kosong; penyebabnya membutuhkan penanganan yang berbeda.

Komentar hadir sebagai potongan rekaman datar. Periksa teks yang tersedia, pilih keterangan lokal untuk nilai yang hilang, dan tampilkan isi sebagai teks. Memuat, pratinjau siap, hasil kosong, serta gagal adalah status yang ditetapkan aplikasi Anda. Sampel arsip kosong tidak berarti komunitas tidak memiliki komentar. Tiga potongan juga tidak memberikan pohon percakapan lengkap untuk ditampilkan seolah semua balasan sudah tersedia.

Pilih kapan penyegaran benar-benar diperlukan

Setiap pengambilan yang berhasil memakai satu kredit, termasuk respons kosong. Harganya $1 per 1000 permintaan berhasil; isi saldo minimum $50 membeli 50000 kredit berbayar. Kredit percobaan bergantung pada kelayakan. Salinan lokal dapat digunakan kembali tanpa pengambilan baru, tetapi penyegaran yang berhasil menghabiskan satu kredit lagi meskipun teks pada layar tetap sama seperti sebelumnya.

Arsip ini independen, tidak berafiliasi resmi dengan Reddit, dan tidak menyediakan aliran komentar langsung. Cakupan lengkap, ketersediaan permanen, serta respons yang selalu sama tidak dijamin. Beri label historis pada pratinjau dan jangan samakan urutan arsip dengan urutan terbaru. Halaman kunci membantu menyiapkan server, panduan membahas penanganan kegagalan, dan dokumentasi menjelaskan kontrak respons untuk langkah berikutnya.