如何检查用户是否是我网站上我的Facebook页面的粉丝?

时间:2010-02-12 05:58:51

标签: facebook

我想检查一下我的用户是否是我的Facebook页面的粉丝。我认为这样的事情应该这样做:

    <script type="text/javascript" src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US"></script>
<script type="text/javascript">FB.init("my api key","xd_receiver.htm");</script>
    <script type="text/javascript">
    //<![CDATA[ 
    FB_RequireFeatures(["Api"], function(){

    var api = FB.Facebook.apiClient;
            api.pages_isFan(PAGE_ID,gigyaUser.FACEBOOK_USER_ID,function(response){
         alert(response);
    });

    });

    //]]>
    </script>

但是,由于某些原因,即使用户实际上是页面的粉丝,我仍然会变为null。我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

我认为你差不多了。 这个片段对我很有用。

假设:  1. fanPageUID =粉丝页面的uid  2.用户UID是用户的UID  3.(并且你有一个活跃的会话)......这可能是困难的部分,但不是这个问题的一部分。

  function checkifFan() {
    FB_RequireFeatures(["Api"], function(){
    var api = FB.Facebook.apiClient.pages_isFan(fanPageUID,userUID,function(response){
        if (response==false) {
          setTimeout('checkifFan()', 300); //every 300ms check if they have pressed fan
        }
        else {
          location.reload();
        }
    });

    });
  }

答案 1 :(得分:0)

您还可以通过以下脚本检查用户是否是您网站的粉丝:

<fb:login-button scope="user_likes">
  Grant Permissions to Allow access to Likes  
</fb:login-button>

<button onclick="checkDoesLike()">Check if user Likes the Page</button>

<h1>Like this Application's Page</h1>
<fb:like-box profile-id="your_page_id"></fb:like-box>

<script>
  window.checkDoesLike = function() {
    FB.api({ method: 'pages.isFan', page_id: 'your_page_id' }, function(resp) {
      if (resp) {
        Log.info('You like the Application.');
      } else {
        Log.error("You don't like the Application.");
      }
    });
  };
</script>