如何检查是否点击了facebook按钮?

时间:2010-06-19 17:04:50

标签: javascript facebook callback facebook-like

我把facebook这样的按钮放到我的wordpress博客中......我们的想法是将它们用作帖子的投票机制。我想做的是每当有人通过facebook喜欢按钮时,自动为博客帖子添加评论。

所以我的问题是 - 如果某人“成功”喜欢某事,那么按钮api是否会为我的页面提供某种回调? - 即。他们以前还没有喜欢过,他们顺利完成了将它提交给facebook的过程。

感谢您的帮助。我是facebook api的新手

3 个答案:

答案 0 :(得分:5)

您需要根据docs订阅edge.create个活动:

FB.Event.subscribe('edge.create', function(href, widget) {
   alert('You just liked '+href);
});

但由于某种原因,我上次尝试时无法使其工作......

答案 1 :(得分:1)

我用它来跟踪用户喜欢的内容。在这种情况下,每当一个用户按下“喜欢”按钮时,它会将一个帖子(它发送一些隐藏的ID)发送到另一个php文件并将其保存到我的数据库中。 我用这个就像你想做的那样。

注意:我使用jquery来构建ajax帖子。

-------------------------------------------
  window.fbAsyncInit = function() {

    FB.init({appId: 'xxxxxxxxxxxxxxxxxx', status: true, cookie: true,
             xfbml: true});

B.Event.subscribe('edge.create', function(href, widget) {

$(document).ready(function() { 

var h_fbl=href.split("/");

var fbl_id=h_fbl[4]; 


 $.post("http://mypage.com/like.php",{ idfb:fbl_id,rand:Math.random() } )

}) });
  };

答案 2 :(得分:1)

您可以使用下面的facebook-api电话进行检查:

JavaScript(未经测试):

FB.api({ method: 'pages.isFan', page_id: 'YOUR-PAGE-ID' }, function(resp) {
    if (resp) {
      alert('You like the Application.');
    } else {
      alert('You don't like the Application.');
    }
 });

PHP(经过充分测试):

$facebook = new Facebook(array(
    'appId' => 'YOUR-APP-ID',
    'secret' => 'YOUR-APP-SECRET-KEY',
));
$facebook->api(array(
                'method' => 'pages.isFan',
                'page_id' => 'YOUR-PAGE-KEY'
            ))

来源: http://forum.developers.facebook.net/viewtopic.php?id=101406

有关更多信息,请参阅Facebook开发人员手册。 http://developers.facebook.com/docs/reference/rest/pages.isFan/

请记住,很快就会弃用REST-API(在此示例中使用)。

如果您不知道从哪里获取SDK,可以查看此页面: http://developers.facebook.com/docs/sdks/