Uygulamanızın yetki sınırını belirleyin
Bir arşiv anahtarını sunucuda saklamak, uygulamanıza gelen her isteğin yetkili olduğu anlamına gelmez. Önce kimlerin hangi sorguları başlatabileceğini ve hangi sonuç alanlarını görebileceğini belirleyin. Reddit Gateway bağımsız bir geçmiş Reddit arşividir; Reddit ile bağlantılı değildir. Canlı veri, Reddit OAuth veya yazma işlemi sağlamaz. Uygulamanızın kendi kullanıcı oturumu ve izin kararları, bu kaynağa yaptığınız arşiv isteğinden ayrı sorumluluklardır.
Kullanıcıdan gelen adresi olduğu gibi arşive yönlendirmek yerine izin verdiğiniz q, subreddit ve tarih koşullarına dönüştürün. İhtiyacınıza uygun kayıt ve sayfa sınırlarını kendi hizmetinizde belirleyin. Bu öneriler API’nin yeni güvenlik özellikleri değildir; uygulamanızın çalışma kapsamını açık tutmayı amaçlayan tasarım kararlarıdır. Belirli bir rol sistemi, kurumsal izin ekranı veya otomatik kötüye kullanım önleme sonucu vaat edilmez.
Gerçek anahtarı sunucu gizli yapılandırmasında tutun. Authorization: Bearer YOUR_API_KEY ve X-API-Key: YOUR_API_KEY seçeneklerinden biriyle gönderin; URL’ye veya tarayıcı koduna koymayın. Gizli başlıkları günlük kaydına yazmayın. Hesap panelindeki Secure HttpOnly çerez hesap işlemleri içindir ve arşiv anahtarı yerine geçmez. Anahtar yenilendiğinde eski değer hemen geçersiz olacağından, bu değeri kullanan uygulama işlerini de kontrol edin.
Kamuya açık status ile gerçek sorguyu ayırın
GET /v1/status anahtar istemez ve kredi tüketmez. Sabit hizmet kapsamını ve HTTP uygulamasının yanıtını gösterir. Arşivi, arama çalışmasını, kayıt varlığını, anahtarı veya bakiyeyi denetlemez. Kontrol ekranında bu sonucu arşiv sağlığı diye adlandırmayın. Henüz yürütülmemiş bir sorgunun durumunu ya da ölçmediğiniz gecikme ve kullanılabilirlik değerlerini de bu yanıttan üretmeyin.
Gerçek arama için https://api.redditgateway.com/v1/search?q=database&subreddit=backend&limit=3 örneğini kullanın. q metni, subreddit topluluğu ve limit bir yanıttaki üst sınırı belirler. HTTP durumunu ve bulunan alanları denetleyin. Sonuç boşsa kullanıcıya boş durumu açıklayın; eksik kayıtları tahminle tamamlamayın. Yerel inceleme kuyruğuna metin aktarmak mümkündür, ancak bu işlem API’nin döndürdüğü otomatik analiz sonucu değildir.
Gerektiğinde author, kind, UTC esaslı YYYY-MM-DD biçimindeki from ve to ile koşulları daraltın; to günü dahildir. min_score puan eşiğidir, sıralama değildir. Yanıtlar düz kayıtlardır. Okumak ve saymak için konuşma ağacı gerekmez; mevcut parent_id veya link_id ile isteğe bağlı yerel gruplama yapılabilir. Bu alanlar sorgu filtresi değildir ve eksik üst kayıtları geri getirmez.
Sayfalama, hata ve maliyeti birlikte ele alın
Bir istek en fazla 100 kayıt, bir sorgu en fazla 100 sayfa ile sınırlıdır. Her sayfa ayrıca istenir. Arşiv belge sırası tarih, ilgi veya puan sırası değildir. eq kesin toplamı, gte alt sınırı, unknown veya null güvenilir toplamın bulunmadığını gösterir. Kesin toplam bile bütün kayıtları sakladığınızın kanıtı değildir. Tarih dilimlerine bölmek eksiksiz veya tekrarsız toplama garantisi sağlamaz.
HTTP 400 için koşulları, 401 için anahtarı, 402 için bakiyeyi kontrol edin; 429 için yeni gönderimi erteleyin. Geçersiz istekten kredi düşülmez, üst kaynak hatasında ayrılan kredi geri verilir. Ancak istemci bağlantısı kopmadan sunucuda ücretli başarı oluşabilir. Başarılı ve boş sonuç dahil veri alma bir kredi harcar; başarılı tekrar ayrıca ücretlidir. Bütün hataları aynı sınırsız yeniden deneme döngüsüne koymayın.
Kendi işlem kaydınızda hangi sorgunun, sayfanın ve yanıtın saklandığını gizli bilgileri açıklamadan izleyin. Böylece yerel kaydetme durumu ile yeniden deneme kararını birlikte değerlendirebilirsiniz. Bu kayıtlar arşiv kapsamını veya veri kalıcılığını kanıtlamaz. Başlangıç örneği ana sayfada, teknik sözleşme Belgeler, maliyet Fiyatlandırma ve hesap işlemleri API anahtarı al sayfasındadır. Başarılı bir deneme bütün uygulama izinlerinin doğru tasarlandığı anlamına gelmez.