PHP:Ajax: Social Count – Sosyal Medya Etkileşim Ölçümü

social share-like count  Websitenizin sosyal medya mecralarında kaç kez beğenildiği, kaç kez paylaşıldığı veya tweet edildiği, artık ziyaretçi trafiğindan daha önemli.  Bu yazıda; aradığınız web adresinin sosyal medya ağlarında  beğeni ve paylaşım sayılarını gösteren bir PHP – Ajax uygulaması geliştirelim. 

Son günlerde faydalı php fonksiyonları paylaşma hevesine kapıldım.  Bu heyecanı da böylece korumuş olurum.

Facebook, Twitter, LinkedIn ve Google Plus için tek tek yazacağım fonksiyonları, bir arada kullanarak Demo uygulamasına atıyorum.  Dilerseniz, makalenin altındaki bağlantılar ile  demo inceleyebilir ve/ya uygulama dosyalarını indirebilirsiniz.  

Twitter için get_tweets()  fonksiyonu


function get_tweets($url) {
$json_string = file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url=' . $url);
$json = json_decode($json_string, true);
return intval( $json['count'] );
}

Facebook için get_likes()  fonksiyonu


function get_likes($url) {
$json_string = file_get_contents('http://graph.facebook.com/?ids=' . $url);
$json = json_decode($json_string, true);
return intval( $json[$url]['shares'] );
}

Google + için get_plusones()  fonksiyonu


function get_plusones($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://clients6.google.com/rpc");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
$curl_results = curl_exec ($curl);
curl_close ($curl);
$json = json_decode($curl_results, true);
return intval( $json[0]['result']['metadata']['globalCounts']['count'] );
}

LinkedIn için get_inshares()  fonksiyonu


function get_inshares($url) {
$json_string = file_get_contents("http://www.linkedin.com/countserv/count/share?url=$url&format=json");
$json = json_decode($json_string, true);
return intval( $json['count'] );
}

 

Her sosyal medya ağı için 4 farklı fonksiyon oluşturduk.   Şimdi basit SocialCount adında basit bir demo uygulama geliştiriyoruz.  bu 4 fonksiyonu demo uygulamamızda kullanmak üzere func.php dosyasına kaydediyoruz.

index.php için Database işlemi kullanmıyoruz. Sadece , jQuery kütüphanesini bağlamamız gerekiyor.

index.php


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

<form id="urlformu" method="get">
<input type="text" placeholder="URL adresi girin..." id="url" />
<button type="submit">Getir</button>
</form>

<div id="response"></div>

<!--  ajax isleminden sonra gelen data response div'e yazilacak -->

<script type='text/javascript'>
$(function(){
$("#urlformu").submit(function(){
$("#response").html("<img src='loading.gif' />");
$.ajax({
type: "POST",
data: "url="+$("#url").val(),
url: "post.php",
success: function(msg)
{
$("#response").html(msg);
}
});
return false;
});

});
</script>

index kodlarında anlaşılacağı gibi, ajax yöntemi ile, kullanıcıdan alınacak URL değeri  post.php dosyasına aktarılıyor.

Sırada, post.php kodu ile, fonksiyonları bağlamak var.

post.php


<?php
require_once("func.php"); // fonksiyonlari aliyoruz.
$url=stripslashes($_POST&#91;'url'&#93;);

?>

<h2 align="center"><?=$url?> Sosyal Medya Ölçümleri</h2>
<div>

<img src="img/twitter.png" width="44" />
<br />
<?=get_tweets($url)?>
</div>

<div>
<img src="img/facebook.png" width="44" />
<br />
<?=get_likes($url)?>
</div>

<div>
<img src="img/gplus.png" width="44" />
<br />
<?=get_plusones($url)?>
</div>

<div>
<img src="img/linkedin.png" width="44" />
<br />
<?=get_inshares($url)?>
</div>

Oldukça basit bir mantıkla, sosyal medya beğeni uygulamasını geliştirdik. Makale içinde paylaştığım kodlar, CSS kodlarından ve HTML taglarından arındırılmıştır.

 

 

SocialCount  uygulamanın son hali için demo uygulamasını inceleyin.

4 thoughts on “PHP:Ajax: Social Count – Sosyal Medya Etkileşim Ölçümü

  • sayfa açıldığında otomatik çalışan örneğini yapmanız mümkün mü?

  • bunların yani like tivitle ve benzeri entegrasyonları ile ilgilide yazı bekleriz..
    başarılar

  • Google+ için hata alan varsa bunu eklesinler.

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir