如何检查Facebook点赞按钮是否已被点击?

3
我把Facebook点赞按钮放到我的WordPress博客里,想用它们作为文章的投票机制。我希望能在每次有人通过Facebook点赞按钮“喜欢”我的博客文章时自动添加一条评论。
我的问题是:如果有人“成功”点赞某个内容,Like Button API是否会向我的页面提供某种回调?也就是说,他们之前没有点过赞,并且成功将其提交给Facebook?
谢谢任何帮助。顺便说一下,我对Facebook API非常陌生。
-rich
3个回答

5

根据文档,您需要订阅edge.create事件:

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

但是上次我尝试的时候,由于某些原因,我无法使它工作...


1

我使用这个来追踪用户的喜欢。在这种情况下,每当一个用户按下“喜欢”按钮时,它会向另一个PHP文件发送一条帖子(发送一些隐藏的ID),并将其保存到我的数据库中。

我使用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() } )

}) });
  };

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'
            ))

Source: 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/


嗨,这个JS示例看起来非常不错,但是没有app-id是否可以使用它?我只有一个公司/粉丝页面。 - mgPePe
1
这已经过时了。请参阅Facebook API文档 http://developers.facebook.com/docs/reference/rest/pages.isFan/ - mikemaccana

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接