如何检查IF用户是否已经喜欢Facebook页面?

时间:2011-09-13 06:33:27

标签: php javascript facebook facebook-graph-api facebook-like

我的网站上有一个类似按钮(用户喜欢fb粉丝页面)。

如果用户点击了,我会检查偶数是否被触发(事件订阅),然后向他们显示一些内容。

我真正感谢您的帮助如下:

如果用户登录到脸书并且他们已经喜欢该页面,我希望它显示“你已经是粉丝!”并显示内容。 (而不是像按钮一样显示灰色)

如果用户没有登录到脸书,他们点击了“赞”按钮,我希望它显示“你已经是粉丝!”并显示内容。 (而不是像按钮一样显示灰色)

编辑:伙计们,我在SO上研究了这个问题并找到了类似的问题,但并不是我所追求的。也许我错了,但如果有人可以提供一个描述我确切问题的链接,那么它会比问题更有帮助。我检查了以下内容:
Check if the user is connected to facebook and then check if he liked a page
Facebook Like Box: How to detect if user already liked the page?
Facebook LIKE button hiding when page is already LIKED by user
How to check whether user has liked the page or not using php/javascript
Check if user already likes fanpage

2 个答案:

答案 0 :(得分:3)

如果你使用facebook php API。我想出了这个简短的函数,你可以将base_facebook.php文件包含在BaseFacebook类中。

public function userIsFan() {
    $sr = $this->getSignedRequest();
    if($sr && is_array($sr)){
        if(array_key_exists('page', $sr)){
            return $sr['page']['liked'] == 1;
        }
    }
    return 0;
}

答案 1 :(得分:0)

确保您使用的是xfbml, 这个对我有用

FB.Event.subscribe('auth.authResponseChange', function(response) {
        FB.api('/me/likes/[page_id]',
          function(response) {
              //console.log(response); - see what the response is on your console.
              if(response.data[0])
                //use script to display your content alert("Liked");
              else
                // just do nothing, display like button alert("Not yet liked");
          }
        );

    });

page_id将是ID而不是您网页的名称,要查找ID,请访问http://graph.facebook.com/[your fb page name]

希望这有助于将来。