Feedburner adresinize giriş yaptığınızda Feed Title bölümünden hangi sitenizde bu servisi kullanmak istiyorsanız oraya giriyorsunuz. Menüden Publicize > FeedCount bölümlerini takip ediyorsunuz. Gördüğünüz gibi Feedburner bize görsel olarak iki tip standart abone sayınızı gösteren bir widget sunuyor.
Ama bazen sitenizde veya projenizde abone sayınızı feedburnerdan çekmek isteyip bununla ilgili işlemler yapmak isteyebilirsiniz. İşte tam bu noktada api hizmeti devreye giriyor.
Awareness API hizmetini aktifleştirme
Feedburner adresinize giriş yaptığınızda Feed Title bölümünden hangi sitenizin apisini aktifleştirmek istiyorsanız oraya giriyorsunuz. Menüden Publicize > Awareness API bölümlerini takip ediyoruz ve Activate butonuna tıklıyoruz.
Api bağlanma adresiniz
https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=wmaraci
Yukarıda "wmaraci" gördüğünüz yere sitenize ait feedburner adresinizi yazıyorsunuz. İşte bu adres bizim feedburner api adresimiz. Bu adresin kaynak kodunu görüntülediğiniz zaman Feedburner XML dosyasını göreceksiniz. Bu adresi kullanarak istediğiniz bilgiyi çekip projelerinizde kullanabilirsiniz.
Sizlere kendi yazmış olduğum ve projemlerimde kullanıyor olduğum bir PHP fonksiyonunu paylaşıyorum aşağıda. Bu fonksiyon api adresinizi kullanarak abone sayınızı öğrenmenize yardımcı olacaktır. Fonksiyon çalıştığı andan itibaren sitenizin dizinine "feedburnerfile.txt" adlı bir dosya oluşturarak api adresinizde ki bilgileri bu dosyaya yazar. Peki neden bu dosyaya yazıyoruz da direk okumuyoruz ? Çünkü sistem her çalıştığında yeniden yeniden apiye bağlanıp veri çekmek yerine 12 saatte bir dizininizdeki dosyayı güncelleyip ve o dosyadan bilgi çekmek daha hızlı olacaktır.
function feedburner($id) {
$cacheTime = '43200'; // 12 saat saniye cinsinden
$feedburnerFile = 'feedburnerfile.txt' ; // dizine dosya oluşturuyoruz
if (!file_exists($feedburnerFile) || ((time() - $cacheTime) > filemtime($feedburnerFile)) || filesize($feedburnerFile) == 0) {
// !file_exists($feedburnerFile) *** feedburnerfile.txt adlı dosya oluşturulmamışsa
// (time() - $cacheTime) > filemtime($feedburnerFile) *** feedburnerfile.txt adlı dosya 12 saat önce oluşturulmuşsa
// filesize($feedburnerFile) == 0 *** feedburnerfile.txt adlı dosya boşsa
$content = file_get_contents('https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri='.$id);
//https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri= *** feedburner api hizmeti için link adresi
$file = fopen($feedburnerFile,'w');
fputs($file, $content);
fclose($file);
}
$file = fopen($feedburnerFile,'r');
if ($file) {
while (!feof($file)) {
@$xml.= fgets($file,1024);
}
preg_match("/circulation=\"(\d+)\"/i", $xml, $circulation);
return $circulation[1];
fclose($file);
}
}
echo feedburner("wmaraci");