2015-07-13 21 views
0

我認爲Facebook改變了他們的API。幾天前我的代碼停止工作。我用下面的代碼讀取FB頁面的喜歡的數字:通過php確定一個頁面的Facebook喜歡嗎?

<?php 
$link = "http://graph.facebook.com/pagename"; 
$json = file_get_contents($link); 
$json = json_decode($json); 
?> 

<div class="fb_likes"> 
<p><?hp echo $json->{'likes'}; ?> 

有誰知道發生了什麼變化,我怎麼能現在讀喜歡的號碼是多少?

感謝

+0

我發現同樣的事情。期待這個問題的答案。我認爲@Torben正在討論使用FQL查詢獲取Facebook頁面的喜歡數量,而不是使用自定義URL。 –

回答

1

您可以檢索FB像下面函數計算:

function facebook_count($url){ 
    $fql = "SELECT share_count, like_count, comment_count "; 
    $fql .= " FROM link_stat WHERE url = '$url'"; 
    $fqlURL = "https://api.facebook.com/method/fql.query?format=json&query=" . urlencode($fql); 
    $response = file_get_contents($fqlURL); 
    return json_decode($response); 
} 
$fb = facebook_count('https://www.facebook.com/pages/Coca-Cola/1517438451865061'); 
echo $fb[0]->like_count; 
+0

fql被棄用,不再適用於新的應用程序 – luschn

+0

...另外,它是關於獲得喜歡的Facebook頁面,而不是外部網站。 – luschn

1

很難說,如果我們只知道它「停止工作」,但你需要使用一個訪問令牌現在打電話。你也必須指定你想得到的字段。例如:

$link = "https://graph.facebook.com/pagename?fields=name,likes&access_token=xxx"; 

有關不同的訪問令牌信息:在更改日誌

的更多信息:https://developers.facebook.com/docs/apps/changelog

+0

我可以確認luschn的答案正在工作,但需要使用https進行呼叫。此外,最後的訪問令牌實際上是App_ID | App_Secret。 –

+0

thanx的評論,我改變http爲https。簡單的應用程序令牌在我發佈的鏈接中解釋。 – luschn

+0

不應在網址中使用應用程序的密鑰。爲了保持數據和應用程序的安全,Access令牌被髮明出來。 –

相關問題