如何取得facebook share count ?[PHP實作]
今天要跟各位分享如何取得每個文章的facebook share count。(將使用PHP作為範例)
首先,需要先知道自己文章的網址,例如:
假如是wordpress用戶可以使用get_permalink()
取得文章的網址
接著便要使用facebook的graph來取得我們文章的分享數量
http://graph.facebook.com/?id=您的網址
範例:
便可以得到如下畫面(看起來像是個json格式)
進入此連結後,就可以得知我們文章的share數,而且我們可以從連結的內容發現到它其實是個json格式(應該?),所以我們可以很輕鬆的用js來抓取的內容啦~~但是今天Aidec偏偏要用PHP來擷取內容 哈哈哈~~(傻笑…)
代碼
一般版:
1 2 3 4 5 6 7 8 9 10 11 |
<?php $shares_url = 'http://graph.facebook.com/?id='. '您的網址'; $response = file_get_contents( $shares_url ); $shares_match = preg_match('/"shares":\d*/',$response,$matches); if($shares_match==0){ $shares =0; }else{ $shares = str_replace('"shares":', '', $matches[0]); echo $shares; } ?> |
wordpress 版本:
1 2 3 4 5 6 7 8 9 10 11 |
<?php $shares_url = 'http://graph.facebook.com/?id='. get_permalink(); $response = file_get_contents( $shares_url ); $shares_match = preg_match('/"shares":\d*/',$response,$matches); if($shares_match==0){ $shares =0; }else{ $shares = str_replace('"shares":', '', $matches[0]); } echo $shares; ?> |
代碼解說
$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的分享按鈕。
很抱歉,此文章關閉留言