2015-07-13 23 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令牌被发明出来。 –

相关问题