شمارش تعداد هواداران فیس بوک ، تویتتر و گوگل پلاس با 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) بر می گرداند.و از این اشیا به راحتی برای نمایش اطلاعات استفاده می کنیم

در همین رابطه :   چگونه : یک فرم تماس با ما بوسیله jQuery,PHP و Ajax ایجاد کنیم ؟!

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

<?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

منبع

 

One Comment

پاسخ دهید

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

More in CSS
روش های اضافه کردن CSS به سایت

مقالات این سری آموزشی : آشنایی با CSS و شروع کار با آن آموزش انتخابگر ها (Selectors) در CSS روش...

Close