如何取得facebook share count ?[PHP實作]

今天要跟各位分享如何取得每個文章的facebook share count。(將使用PHP作為範例)

首先,需要先知道自己文章的網址,例如:

http://aidec.tw/bluehost

假如是wordpress用戶可以使用get_permalink()取得文章的網址
接著便要使用facebook的graph來取得我們文章的分享數量

http://graph.facebook.com/?id=您的網址

範例:

http://graph.facebook.com/?id=http://aidec.tw/foxy-green

便可以得到如下畫面(看起來像是個json格式)
fb-share-count
進入此連結後,就可以得知我們文章的share數,而且我們可以從連結的內容發現到它其實是個json格式(應該?),所以我們可以很輕鬆的用js來抓取的內容啦~~但是今天Aidec偏偏要用PHP來擷取內容 哈哈哈~~(傻笑…)

 

代碼

一般版:

wordpress 版本:

代碼解說

$shares_url = ‘http://graph.facebook.com/?id=’. get_permalink();

就只是個變數,用來設定我們的文章網址。

$response = file_get_contents( $shares_url );

利用file_get_contents來抓取 $shares_url所顯示的內容。

$shares_match = preg_match(‘/”shares”:\d*/’,$response,$matches);

使用正規表示法來擷取我們文章的fb share數。

if($shares_match==0)
{
$shares =0;
}else{
$shares = str_replace(‘”shares”:’, ”, $matches[0]);
}

用來判斷fb share數,如果沒資料則顯示0,否則反之。

echo $shares;

嗯…用來輸出facebook share count。

在微調一下就可以顯示出像右邊分享鈕一樣的東東了~~
下一篇將會介紹如何獲取google +1的數量以及如何自己建立fb與google+1的分享按鈕。

感謝您的閱讀,請用力地分享讓大家知道吧~~

Aidec Li
學我所見,寫我所學。凡事略懂略懂~~
更多 Aidec Li 的文章...

很抱歉,此文章關閉留言