İncelenecek yanıtı saklayın
Başlangıç sorgusu https://api.redditextract.com/v1/search?q=index&subreddit=PostgreSQL&limit=3 olabilir. Bu, PostgreSQL topluluğunda index metnini arar ve en fazla üç kayıt ister. Tarih koşulu içermez ve herhangi bir kaydın bulunacağını garanti etmez. Authorization: Bearer YOUR_API_KEY veya X-API-Key: YOUR_API_KEY başlığını sunucunuzda ayarlayın. Gerçek anahtarı paylaşılan dönüştürme tarifinin içine yerleştirmeyin.
Kaynak alandan hedef sütuna giden yolu yazın
Eşleme, kodu çalıştırmadan da anlaşılabilsin. Her hedef sütun için gözlenen kaynak alanı, kabul edilen türü, eksiklikte yapılacak işlemi ve değerin kopya mı türetilmiş mi olduğunu yazın. content_source yerel olarak title veya text bilgisini, source_page ise kendi istek günlüğünüzdeki sayfayı gösterebilir. Bunlar çıktı adlarınızdır; API’nin yeni yanıt alanları değildir.
Önce hedef sütunları ve her birinin anlamını yazın. Kaynakta gerçekten varsa id veya kind gibi alanları koruyabilir, metin alanlarını seçebilirsiniz. Bir alanın bulunmaması, null olması, boş metin içermesi ve sıfır değeri farklıdır. Hedefte bunları nasıl temsil ettiğinizi belgeleyin. Eksik metni uydurmayın ve alanın adından yola çıkarak dönüşümünün doğru olacağını varsaymayın.
Başlık veya metin seçimini gerekçelendirin
q, title ve text alanlarında arama yapar. Birden fazla terim varsa terimlerin eşleşen tek bir alan içinde birlikte bulunması gerekir; terimleri iki alana dağıtmak yeterli değildir. q=index için içerik seçmeden iki alanı ayrı inceleyin. text yoksa eksikliği koruyun ya da kaynağı belirtilen, belgelenmiş bir title yedeği kullanın. Bu yedeği özgün gövde metni olarak göstermeyin.
Tür dönüşümünden önce eksikliği denetleyin
Her alan için kaynak adı, hedef adı, beklenen tür ve hata davranışını belirleyin. Kimliklerin biçimini korumak için bunları matematiksel sayılar gibi işlemeyin. Sayı veya zaman dönüşümünden önce gözlenen türü ve birimi denetleyin. Karışık türlerde dönüştürülemeyen değeri ayrı kayıtla inceleyebilirsiniz. Bu sizin kodunuzun politikasıdır; API hazır hedef şema, otomatik normalizasyon veya kalite puanı üretmez.
Her kaydın nasıl işlendiğini açıklayın
Düz kayıtları işlemek için konuşma ağacı kurmak zorunlu değildir. parent_id ve link_id alanları varsa ilişki analizi amacıyla isteğe bağlı yerel gruplama yapılabilir. Bu alanlar sorgu filtresi değildir ve bulunmayan ebeveynleri geri getirmez. Metin temizleme veya yeni sütun üretme sırasında ham değerleri ayrı korumak, kaynak ile sizin yorumunuzu birbirinden ayırır.
Açıkça sentetik olarak işaretlenen girdilerle sınayın: yalnızca başlık, yalnızca metin, ikisi birden, açık null ve iki alanın da yokluğu. Hem üretilen değeri hem kaynak işaretini kontrol edin. Reddedilen nesneyi değiştirmeden ve nedenini yazarak saklayın. Kayıt başına en çok bir satır üreten eşlemede kabul ve ret toplamı alınan kayıtları açıklamalıdır; bütün arşivin sayısı değildir.
Sonraki sayfayı istemek için bir neden belirleyin
Ham yanıtı, kullanılan filtreleri, UTC alma zamanını ve dönüşüm sürümünü birlikte kaydedebilirsiniz. Aynı ham veri üzerinde yeni alan haritasını çalıştırmak yeni ağ çağrısı değildir. Fakat aynı sorguyu daha sonra yeniden çekmek aynı içerik veya sıra garantisi vermez. Tarihler from ve to ile UTC günleri olarak seçilir; to son günün tamamını içerir, saat filtresi değildir.
Toplam ilişkisinde eq kesin sayı, gte alt sınır, unknown güvenilir toplamın bilinmediğini anlatır; toplam null olabilir. Bu bilgiyi kaydetmek tam veri aldığınızı kanıtlamaz. limit ve page en fazla 100’dür. Daha dar tarih aralıkları veya tekrar ayıklama bütün eşleşmeleri kurtarmaz. Hedefe yazılan gerçek sayıyı, reddedilen değerleri ve durma gerekçesini ayrıca raporlayın.
Başarılı boş çekme bir kredidir; başarılı 1.000 çekme $1’dir. İstemci zaman aşımı sunucu başarısını dışlamaz ve başarılı tekrar ayrıca ücretlidir. Geçersiz istekler kredi düşürmez, üst sistem hatasında rezervasyon geri verilir. 400, 401, 402 ve 429 durumlarını ayrı ele alın. /v1/status arşiv sağlığını veya dönüştürme işinizi sınamaz; yalnızca statik kapsam ve HTTP yanıtı sunar.