Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


bit.ly API ile URL Kısaltma

Yazar: Gökhan BAĞCI

Kategori: C#.NET & VB.NET

Eklenme Tarihi: 11.05.2011 23:09:07

Bu makalemizde gün geçtikçe daha yoğun bir şekilde kullandığımız Sosyal Medya'nın bir parçası olan URL Shortener konusundan söz edeceğiz. Bu servisler daha çok karakter kısıtlaması olan sitelerde kullanılıyor. (Twitter, Facebook vs..)
Bu makalemizde gün geçtikçe daha yoğun bir şekilde kullandığımız Sosyal Medya'nın bir parçası olan URL Shortener konusundan söz edeceğiz. Bu servisler daha çok karakter kısıtlaması olan sitelerde kullanılıyor. (Twitter, Facebook vs..)

Bilindiği gibi bit.ly sitesi bu işi ilk başlatanlardan ve en çok kullanılanlardandır. Son olarak Google'da bir servis (goo.gl - Google UL Shortener) sunmaya başladı. Bir sonraki makalemizde goo.gl servisindende bahsedeceğiz. Bunların dışındada 10-15 civarında servis bulunmaktadır.


Öncelikle bu servis'i kullanabilmek için bit.ly üyesi olmamız ve API Key'e ihtiyacımız bulunuyor. Üye olduktan sonra bit.ly/a/your_api_key adresinden API Key'inizi öğrenebilirsiniz.


API değerlerimizi aldıktan sonra bit.ly'nin bize sunduğu JSON ya da XML tabanlı sunduğu web servisini kullanamaya başlayabiliriz. Biz tüm örneklerimizi XML'e kullanarak göreceğiz.


URL Kısaltma

URL adresimizi kısaltmak için kullandığımız servisimizidir.



Adres: http://api.bit.ly/v3/shorten

Parametreler;

format: xml ya da json //Geri dönüş formatı'nın hangi türde gerçekleşeceğini belirtir.

longUrl: Kısaltmak istediğimiz adresimiz.

login: bit.ly kullanıcı adı.

apiKey: bit.ly API Key.



C#

//Kısaltmak istediğimiz URL

string longURL = HttpUtility.UrlEncode("http://www.yazgelistir.com");

//bit.ly Kullanıcı Adı

string login = "gokhanb????";

//bit.ly API key

string apiKey = "R_573c1a753d349046b40b2fae4088????";

//api.bit.ly/v3/shorten servisiniz parametreleri ile formatlanmış şekli

string xmlFormat = "http://api.bitly.com/v3/shorten?format=xml&longUrl={0}&login={1}&apiKey={2}";

//İstek yapacağımız API adresi

var url = string.Format(xmlFormat, longURL, login, apiKey);

//Geri dönüş tipimiz XML olduğu için basit bir şekilde linq ile isteği yüklüyoruz.

XDocument document = XDocument.Load(url);

//Geri dönüş değeri olan "url" ile kısa adresimize ulaşıyoruz.

string shortURL = document.Element("response").Element("data").Element("url").Value;

//Geri dönüş değeri olan "hash" ile daha sonradan yapacağımız sorgulamalarda kullanacağız.

string userHash = document.Element("response").Element("data").Element("hash").Value;



XML

<response>

    <status_code>200</status_code>

    <status_txt>OK</status_txt>

    <data>

        <url>http://bit.ly/jlpRVx</url>

        <hash>jlpRVx</hash>

        <global_hash>lBIlXS</global_hash>

        <long_url>http://www.yazgelistir.com/</long_url>

        <new_hash>0</new_hash>

    </data>

</response>



URL Clicks

Kısalttığımız URL adreslerinin tıklanma sayısını öğrenmek için kullandığımız servistir.



Adres: http://api.bit.ly/v3/cliks

Parametreler;

format: xml ya da json //Geri dönüş formatı'nın hangi türde gerçekleşeceğini belirtir.

longUrl: Kısaltmak istediğimiz adresimiz.

login: bit.ly kullanıcı adı.

apiKey: bit.ly API Key.



C#

//Bir önceki istekte eriştiğimiz "url" adresimiz

string shortURL = HttpUtility.UrlEncode("http://bit.ly/jlpRVx");

//Bir önceki istekte eriştiğimiz "hash" değerimiz

string hash = "jlpRVx";

//bit.ly Kullanıcı Adı

string login = "gokhanbagci";

//bit.ly API key

string apiKey = "R_573c1a753d349046b40b2fae40883ca7";

//api.bit.ly/v3/shorten servisiniz parametreleri ile formatlanmış şekli

string xmlFormat = "http://api.bitly.com/v3/clicks?format=xml&shortURL={0}&hash={1}&login={2}&apiKey={3}";

//İstek yapacağımız API adresi

var url = string.Format(xmlFormat, shortURL, hash, login, apiKey);

//Geri dönüş tipimiz XML olduğu için basit bir şekilde linq ile isteği yüklüyoruz.

XDocument document = XDocument.Load(url);

//Geri dönüş değeri olan "user_clicks" ile kaç kişinin tıkladığına erişiyoruz.

int cliks = int.Parse(document.Element("response").Element("data").Element("clicks").Element("user_clicks").Value);



XML

<response>

    <status_code>200</status_code>

    <data>

        <clicks>

            <user_clicks>2</user_clicks>

            <global_hash>lBIlXS</global_hash>

            <hash>jlpRVx</hash>

            <user_hash>jlpRVx</user_hash>

            <global_clicks>2</global_clicks>

        </clicks>

    </data>

    <status_txt>OK</status_txt>

</response>



bit.ly API'nin bize sunduğu bu kadarla sınır değil tabi ki, daha fazla istatistiğe ulaşmak isteyenler referrers, countries, clicks_by_minute, clicks_by_day servislerini de inceleyebilir.

API ile detaylı bilgi almak için tıklayın.



Başka bir makalemizde görüşmek dileğiyle...



Gökhan BAĞCI

Web & Mobile Developer

gokhanbagci.com
Yazar Hakkında 1 Yorum Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.