Bit.ly API ile url kısaltma servisi yapımı

Url kısaltma servislerinin ilk çıktığında işlevleri konusunda çok fazla fikre sahip olmasak ta geçen zaman diliminde faydaları ve işlevleri açısından oldukça kullanışlı ve yararlı oldukları fark ettik. Aslında bu hizmeti veren düzinelerce servis mevcut ve bunlar arasında öne çıkanlar kullanıcılarına daha fazla işlevsellik kazandırma imkanı veren siteler geliyor. Kullanıcıların kendi uygulamalarını yapmalarını sağlayan servisler daha çok ön plana çıkıyor. Peki biz kullanıcılar kendi uygulamamızı yapmamızı sağlan özelliği ne bu sistemlerin hemen belirteyim; API (Application Programming Interface) yani geniş açılımı ve türkçesi Uygulama Programlama Arabirimi yardımı ile yapabiliriz. Bu yazıyı yazmadan önce David walsh’ın sitesindeki bit.ly yazısını okudum ve kaynak olarak orayı belirledim ama bizim yapacağımız kodlama çok daha kısa ve basit olacak bu adresten bakabilirsiniz.

Yapmanız gerekn ilk şey bit.ly API adresine girip kaydolmak ve kaydınızı yaptıktan sonra size bir kullanıcı adı ve API verecektir onları kullanacağız bu adresten kayıt olabilirsiniz

İlk aşamamız basit bir form yapmak olacaktır hem sonuc hemde formun olacağı for ekran oluşturacağız.

#wrap {
	width:960px;
	margin:0 auto;
	background-color:#fafafa;
	border:1px dashed #999;
	padding:20px;

.box {
	border:0px dashed #999;
	text-align:center;
	margin:20px 60px;
}
.sonuc_bg {
	background-color:#ccc;
	width:600px;
	margin:10px auto;
	padding:10px 0px;
}

Yukarıda alanımızı ayarladık sonuc seçicisini daha da özelleştirebilirsiniz . formumuzu bu alan içine ekleyeceğiz.

Şimdi de url kısatlma php dosyamızı oluşturalım david walsh tan derleme yapacağım ama daha kısa bir kodlama olacak çünkü sadece API yardımı ile linklerimizi kısaltacağız.

<?php
if(isset($_POST['long_url']) && !empty($_POST['long_url'])){
	$input_url = strip_tags(trim($_POST['long_url']));
<p>	if(!filter_var($input_url, FILTER_VALIDATE_URL)){
		echo 'Invalid URL.';
	}
	else{
		$url_enc = urlencode($input_url);
		$version = '2.0.1';
		$login = 'saidyavuz';
		$api_key = 'R_9c8a937515eab7adb1fe32b9dd2452ba';
		$format = 'json';
		$data = file_get_contents('http://api.bit.ly/shorten?version='.$version.'&amp;login='.$login.'&amp;apiKey='.$api_key.'&amp;longUrl='.$url_enc.'&amp;format='.$format);
		$json = json_decode($data, true);
<p>		foreach($json['results'] as $val){
			echo $val['shortUrl'];
		}
	}
}
else {<br />
	echo 'Baglanti bos çıktı.';
}
?&gt;

Şimdi burada dikkat etmeniz gereken nokta $login = ‘saidyavuz’; kısmına kendi kullanıcı adınızı ve $api_key kısmına da kendi API nizi ekleyin ki karışmasın.

Dilerseniz Klasik Ajax loader kodlamasını da ekleyebilirsiniz sisteminize özellik katacatır. jQuery sitesinden de çeşitli versiyonlarını bulabilirsiniz. Ama size hazır bir tane verelim. Bulduğum hazır kodu aynen giriyorum yalnız ek bir nokta seçicilerinizi ve php dosyanızı entegre etmeniz gerek sadece değişiklik yapmak isteyenlere aksi takdirde aşağıdaki kodu aynen kullanabilirsiniz.

$(function(){
	var ajax_loader = '&lt;img src=&quot;ajax-loader.gif&quot; alt=&quot;&quot; /&gt;';
	$('.sonuc').hide();
	$('.loader').hide();
	$('#submit_short').click(function(){
<p>			$('.loader:eq(0)').html(ajax_loader).show(500, function(){
<p>				$.post('kisalt.php', {long_url: $('#long_val').val()}, function(data){
<p>					$('.loader:eq(0)').hide(500, function(){
<p>						$('.sonuc:eq(0)').addClass('sonuc_bg')
                               .html(data).fadeIn(1000);
					});
				});
			});
<p>		return false;<br />
	});
});

Evet arkadaşlar işte bu kadar aşağıda demo sayfası var oradan test edebilirsiniz. Son olarak şunları da söylemek istiyorum bu uygulamayı kendi bloglarınıza da entegre edebilirsiniz ve linki paylaşmak isteyen ziyaretçilerinize otomatik olarak yazı açıldığında linkin kısaltılmış biçimini verebilirsiniz inşallah onuda bir başka dersimizde anlatırız yapamayanlar veya kafasına soru işareti takılanlar var ise burdan sorabilirler.

Demo Download

12 Yorum

  1. MsKcR 18 Nisan 2010
  2. mıstık 18 Nisan 2010
  3. murat 19 Nisan 2010
  4. admin 19 Nisan 2010
  5. Çağrı Durak 19 Nisan 2010
  6. admin 19 Nisan 2010
  7. saidyavuz 19 Nisan 2010
  8. Aycan Doğanlar 19 Nisan 2010
  9. Hakan Damar 09 Mayıs 2010
  10. link kısaltma 19 Mayıs 2010
  11. osaman 31 Ağustos 2010
  12. saidyavuz 01 Eylül 2010

Yorum Yaz