2015-02-11 46 views
0

我正在使用函數「file_get_contents」獲取共享facebook上的鏈接總數。鏈接facebook分享次數file_get_contents

這是我的代碼:

$url = x; 
$data = file_get_contents('http://graph.facebook.com/?id=".$url'); 
$obj = json_decode($data, true); 
$like_no = intval($obj->{'shares'}); 
echo $like_no; 

我嘗試這樣做,這是行不通的。但是,我的服務器上啓用了file_get_contents,所以我找不到解決方案...如果你能幫助我!在此先感謝:)

+0

是什麼'$ data'? – WizKid 2015-02-11 22:47:11

+0

$ data是我從facebook圖中得到的。 例如:http://graph.facebook.com/?id=http://facebook.com – polYc 2015-02-11 22:52:25

回答

2

感謝您的幫助我找到解決方案並沒有API(我很高興:))

對於人intereset在:

$url = x; 
$data = file_get_contents('http://api.facebook.com/restserver.php?method=links.getStats&format=json&urls='.$url); 
$obj = json_decode($data, true); 
$like_no = $obj[0]['total_count']; 
+0

Yeap!對此感到抱歉。 – bandrei2408 2015-02-11 23:43:52

+0

毫無疑問,你對我的要求非常反應,值得一錯! :) – polYc 2015-02-12 00:44:57

0

您需要訪問令牌才能訪問該鏈接,可通過註冊爲開發人員並創建應用程序來獲取該鏈接。

有些鏈接可能會有所幫助:

1)Facebook的開發者:https://developers.facebook.com/

2)PHP SDK:https://developers.facebook.com/docs/reference/php/4.0.0

3)圖形API文檔:https://developers.facebook.com/docs/graph-api

您需要連接到使用OAuth2客戶端的facebook圖形api,它需要你閱讀他們的文檔。

L.E.看來我錯了。您實際上並不需要訪問令牌來獲取這些信息。

檢查這個答案:Get the number of facebook *shares* of a specific URL

+0

謝謝我在想我不需要它。你有一個小黑客快速認證(我有應用程序和密鑰)。我想不使用Facebook的PHP SDK,因爲我認爲它會減慢我的網站。 – polYc 2015-02-11 22:58:40

+0

首先,SDK不會減慢你的網站。其次,最簡單的方法是使用他們的PHP SDK,否則您將不得不手動編寫OAuth2客戶端庫。 – bandrei2408 2015-02-11 23:01:25

+0

因此,如果我必須使用他們的SDK,我需要將那些文件集成到我的網站。他們說「Facebook PHP for PHP v4需要PHP 5.4或更高版本」。我有一個使用以前版本的PHP的wordpress網站。我能怎麼做? – polYc 2015-02-11 23:07:14