TUSUL LOGOYazıma başlamadan önce birkaç bilgi vermeyi uygun gördüm. Öncelikle API’nin ne olduğu hakkında birkaç kelam edelim. API , programcıların ihtiyaç duydukları verileri bir çatı altında toplayarak, program yazmada kolaylık sağlamaya yarayan bir sistemdir diyebiliriz. Örnek vermek gerekirse mevcut bir web uygulamasının API uygulaması ile bütün programcılar , o web sitesininin verilerini kullanarak kendilerine özgü servisleri yaratabilirler.

Mesela Google Map Api; sitelerinde bir şekilde harita ile yer bilgisi vermek isteyen çoğu webmasterin yardımına koşmuştur. Mesela elimde sabit bir IP var ve ziyaretçiye bulunduğu yeri haritada göstermek istiyorum. İşte bundan sonra yapmam gereken Google’ın bizim için oluşturduğu API ile programlamamızı yapmak. Mesela Google http://map.google.com/showgraph.php?ip=123.456.345.123 gibi bir adres ile 123.456.345.123 IP adresinin bulunduğu yeri haritada göstermemizi sağlıyor diyelim .( Tamamen sallama bir örnek Wink). Kolay olan şu: biz sitemize giren ziyaretçinin IP adresini bir şekilde alabiliyorsak artık haritada ziyaretçiye yerini göstermek çocuk oyuncağı.

Örneğimizi verirken çiçeği burnunda API uygulamasına sahip Tusul.Com’u kullanacağım.

http://dev.tusul.com/ adresine girdiğimizde bize bazı bilgiler verilmiş API uygulamalarının nasıl olduğuna dair. Burayı dikkatlice okursak, çıkacak sonuç bellidir. Tusul; veritabanını tam olmasa da,  istediğin uygulamayı geliştirmemiz için açmış bulunmakta. Tek fark bize veritabanındaki bilgileri XML ya da JSON olarak vermesi. XML ve JSON bir veriyi göstermek için yazılmış özelleşmiş bir yazım tarzıdır. Biz birazdan yapacağımız basit uygulamada sıklıkla kullanılan XML yapısını kullanacağız.

Şimdi örnek olarak Tusuldan bir veriyi nasıl alacağımıza bakalım. http://api.tusul.com/haber?kategori=Teknoloji linkine girersek bize Teknoloji kategorisine ait son 10 verinin XML biçiminde dökümü gelecektir.

API uygulamasının bulunduğu mevcut sayfası incelerseniz, bazı filtreleri de kullanabilirsiniz. Mesela http://api.tusul.com/haber?kullanici=erhanharm yazarak sadece bana ait son 10 yazısı XML e dökebiliriz.

Madem elimizde bir XML dökümanımız oldu artık bu veritabanını herhangi bir program dili yardımıyla Parse( işlemek) edebiliriz. Biz örneğimizde yaygın olarak ve uygulaması kolay olan PHP yi kullanacağız.

Öncelikle PHP ile XML Parse etmeyle alaklı dökümanları kurcalamanızda fayda var. XML ile sıkça uğraşmadığım için açtım Manual’i ve bakmaya başladım. Görünen o ki XML’de PHP yi kullanarak istediğimiz taklayı atmak mümkün.

Öncelikle kodu verip sonra tek tek anlatmaya başlayacağım:

$Veri = array();
$kaynak = filegetcontents(“http://api.tusul.com/haber?kategori=Teknoloji”);
$temp = split(“
“,$kaynak);
for ($i=1;$i<=count($temp);$i++){
if(trim($temp[$i])==”){
continue;
}
pregmatch(‘\(.*)<\/baslik>\i’
, $temp[$i], $title);
preg
match(‘\(.*)<\/aciklama>/i’, $temp[$i], $link);

array_push($Veri,array($title[1],$link[1]));
echo “”.$title[1].””;
echo “
” ;
echo $link[1];
echo “

” ;
}

Öncelikle $Veri adında bir dizi oluşturuyoruz. $Kaynak olarak, işleyeceğimiz yani bilgilerini kullancağımız adresi yazıyoruz. Ben örnekte Tusul.Com’un Teknoloji kategorisindeki son 10 mesajı kullanmak istiyorum. Adresi kafanıza göre değiştirebilirsiniz.

Sonra preg_match fonksiyonunu ile ve tagları arasındaki bilgileri seçiyoruz ve bunları sırayla For’un döndüğü sayı kadar ekrana basıyoruz.

Burada Veri(item) sayımız 10 olduğu için en fazla 10 veri ekrana basabiliyoruz. İsterseniz başta oluşturduğumuz Array(dizi) nin içine de bu 10 veriyi sırayla ekleyerek (array_push) sonra bildiğimiz dizi işlemleriyle daha farklı uygulamalar yapabilirsiniz.

Fonksiyonlara ait bilgiler:

Preg_Match()

Array_Push()

Filegetcontents()
Örnek olarak sitenizde, yukarıda yapılan örnek ile,  herhangi bir kategoride Tusul’a yazılmış yazıları sitenizin bir yerinde gösterebilirsiniz.

Başlangıç için ideal bir örnek bundan sonraki yazıda da PHP5 ile gelen XML fonksiyonlarıyla birşeyler anlatacağım.Wink

Yaptığımız uygulamanın çıktısına http://projects.harmankaya.org/api-xml-parsing/parse.php adresinden bakabilirsiniz. Örneğin kaynak kodlarını da  http://projects.harmankaya.org/api-xml-parsing/xml-parse.rar adresinden indirebilirsiniz.

Son olarak Tusul, UTF-8 karakter kodlaması kullandığı için yaptığınız uygulamada UTF-8 karakter kodlamasını seçmeyi unutmayın.

Kolay gelsin.Innocent