شمارش تعداد هواداران فیس بوک ، تویتتر و گوگل پلاس با PHP

در این مبحث می خواهیم در مورد نمایش آمار شبکه های اجتماعی که در آنها عضو هستیم بپردازیم . فیس بوک ، گوگل پلاس و تویتتر معمولا ابزاری دارند که می توانیم داده های خام را به صورت json از آنها بیرون بکشیم و نمایش دهیم . داده هایی شامل تعداد دنبال کنندگان مان ، لایک ها و تعداد افراد موجود در حلقه دوستان . البته می خواستیم سرویس فیدبارنر (feedburner) را هم که بیشتر به درد مدیران سایت ها می خورد در این بحث وارد کنیم ولی متاسفانه گوگل مدتی است که به بخش Awareness API خود پایان داده است پس فعلا از آن می گذریم

این لینک های شامل آدرس های اصلی هستند که اطلاعات مربوط به این سه سایت بزرگ را به ما خواهند داد :

http://api.twitter.com/1/users/show.json?screen_name=<screen NAME>;
http://graph.facebook.com/<page ID OR NAME>;
https://www.googleapis.com/plus/v1/people/<page ID>?key=<google API KEY>;

اگر شما این آدرس را با مقادیر درست در مرورگرتان باز کنید می توانید داده های مربوطه را مشاهده نمایید که برگشت داده می شوند .برای مثال اگر این آدرس (https://graph.facebook.com/fotolia.ir)را باز کنید داده هایی مربوط به صفحه فیس بوک فتولیا را مشاهده خواهید کرد :

{
   "is_published": true,
   "talking_about_count": 3,
   "username": "fotolia.ir",
   "website": "www.fotolia.ir",
   "were_here_count": 0,
   "category": "Website",
   "id": "174513069252800",
   "name": "\u0641\u062a\u0648\u0644\u06cc\u0627 / Fotolia",
   "link": "https://www.facebook.com/fotolia.ir",
   "likes": 249
}

اگر دقت کنید خصیصه likes از نوع json هست ، همچنین با کمی تفاوت این مقدار برای تویتتر followers_count  برای گوگل پلاس plusOneCount  خواهد بود.

بعد از این تنها چیزی که نیاز داریم ایجاد مکانیزمی است که این داده ها را گرفته و پردازش کند تا در برنامه قابل استفاده و نمایش باشد.برای این ما یک تابع php ایجاد کردیم که از دو تابع توکار cURL و  file_get_contents  برای گرفتن داده ها استفاده می کند.سپس داده ها را به صورت اشیا (object) بر می گرداند.و از این اشیا به راحتی برای نمایش اطلاعات استفاده می کنیم

در همین رابطه :   بهترین ویرایشگرهای رایگان کد برای آندروید

کد کامل را می توانید اینجا ببینید :

<?php

########### settings #########
$Twitter_Screen_Name        = 'alizamani'; //Twitter screen name
$Facebook_Page_ID_Or_Name   = 'fotolia.ir'; // Facebook Page ID or Name
$Google_Page_Id             = '108490412433075369586'; // Google Page ID
$Google_API_key             = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; //Google API key
##############################

$twitter_link = 'http://api.twitter.com/1/users/show.json?screen_name='.$Twitter_Screen_Name;
$facebook_like = 'http://graph.facebook.com/'.$Facebook_Page_ID_Or_Name;
$google_page_circle = 'https://www.googleapis.com/plus/v1/people/'.$Google_Page_Id.'?key='.$Google_API_key.'';

$twitter_data       = get_data($twitter_link);
$facebook_data      = get_data($facebook_like);
$google_data        = get_data($google_page_circle);

echo 'Twitter Followers  : '. $twitter_data->followers_count .'<br />';
echo 'Facebook Fans      : '. $facebook_data->likes.'<br />';
echo 'Google Page Circle : '. $google_data->plusOneCount;

echo '<pre>';
//print_r($twitter_data);
//print_r($facebook_data);
//print_r($google_data);
echo '</pre>';

function get_data($json_url='',$use_curl=false)
{
    if($use_curl)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_URL, $json_url);
        $json_data = curl_exec($ch);
        curl_close($ch);
        return json_decode($json_data);
    }
    else
    {
        $json_data = file_get_contents($json_url);
        return json_decode($json_data);
    }
}
?>

 

که این را بر می گرداند:

Twitter Followers : 46
Facebook Fans : 249
Google Page Circle : 276

منبع

 

دسته بندی : PHP

یک نظر

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

More in فونت
۵۰ فونت انگلیسی جدید و بسیار زیبا ۲۰۱۱

امروز 50 فونت جدید و داغ سال 2011 را از طرف سایت 1stwebdesigner برای شما آماده کرده ایم که امیدواریم...

Close