bit.ly API ile URL Kısaltma

Yazar: Gökhan BAĞCI
Kategori: C#.NET & VB.NET
Eklenme Tarihi: 11.5.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


Gökhan BAĞCI

2003 yilindan itibaren .Net teknolojilerini takip etmektedir. Freelance olarak bir çok sahis ve firma için proje gelistirmistir.

sadık bozkurt - 22.2.2012
teşekkürler merak ettiğim bir husustu

Kemal BALABAN - 2.2.2012 1
@ayhan kara, bu ihtiyaç meselesidir :) affiliate marketing ile uğraşsaydınız bu çok işinize yarayacaktır.

ayhan kara - 22.11.2011
Ben pek bir ayrıcalığı olduğunu düşünmüyorum bu sistemin.

Yorumunuz