2012-08-14 170 views
1

我需要检查PHP有多少喜欢显示在Facebook Like Button中。如何检索Facebook的喜欢数量喜欢按钮代码

由于某些原因,我不能只是执行一个FQL查询来获得喜欢的数量。我必须在FB Like Button html/js代码上操作。

例子:

<div id="fb-root"></div> 
<script>(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

<fb:like href="http://www.example.com" send="false" width="450" show_faces="false"></fb:like> 

我真的不想安装和使用一些JS解释以检索喜欢的值。有没有更简单的方法来做到这一点?

+0

如果您尝试从网站上的Facebook按钮刮取喜欢的数量,那么您不能。该数字存在于iframe中,因此XSS安全性将适用。使用API​​获取类似数字的数字是微不足道的,但如果你不能,那听起来你正在做一些违反Facebook TOS的事情。 – cpilko 2012-08-14 20:09:23

+0

你错了。我可以 - 每个浏览器都能做到这一点,并且没有任何问题。 – 2012-08-14 20:15:56

回答

0

您可以使用FQL获取喜欢的数量。例如,我创建使用Like Button plugin creator tool这个喜欢按钮:

<fb:like href="http://plooza.com" send="false" width="450" show_faces="true"></fb:like> 

然后我可以使用FQL喜欢的数量,使用Graph API Explorer作为一个快速测试:

SELECT url, normalized_url, share_count, like_count, comment_count, total_count, commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url="plooza.com" 

产量为:

{ 
  "data": [ 
    { 
      "url": "plooza.com", 
      "normalized_url": "http://www.plooza.com/", 
      "share_count": 0, 
      "like_count": 2, 
      "comment_count": 0, 
      "total_count": 2, 
      "commentsbox_count": 0, 
      "comments_fbid": "1015079258276xxxx", 
      "click_count": 0 
    } 
  ] 
} 
+0

正如我写的,我无法执行FQL查询。 – 2012-08-14 19:41:12

+0

好吧,我误解了。我以为你想通过PHP(或GET)来做FQL来获得类似按钮的喜欢数,并且你不想使用js。如果您不能使用js或FQL,则可以使用Graph API,例如。 https://graph.facebook.com/122054155397 – 2012-08-14 19:49:17

+0

我也无法使用Graph API。 – 2012-08-14 19:58:40