如何使用facebook JS SDK捕获页面加载中喜欢的页面?

时间:2016-10-12 08:58:58

标签: javascript facebook facebook-javascript-sdk

嗨我想知道如果喜欢来自Facebook的页面加载按钮。我试图用user_likes权限做fb graph api工作正常。我不能从facebook获得这个许可,他们说我们的应用程序不需要此权限才能获得当前的功能。如果没有用户喜欢的权限,我可以在页面加载时获得喜欢或不喜欢吗?这是我的user_likes权限的代码示例。

window.fbAsyncInit = function() {
FB.init({
  appId      : 'xxxxxxx',
  status     : true,
  xfbml      : true
});
FB.Event.subscribe('edge.create',
   function(response) {
     window.location.href = 'xyz.com';
   }
);

FB.Event.subscribe('edge.remove',
  function(response) {
     <!-- alert('You UNliked the URL: ' + response); -->
     window.location.href = 'xxx.com';
  }
);
FB.getLoginStatus(function(response){
        FB.api(
          '/me/likes/xxxxx',
          'GET',
          {},
          function(response) {
            if(response.data[0])
            {
                alert(response);
                window.location.href = 'xyz.com';
            }
          }
        );
    });
};
(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_US/all.js#xfbml=1&version=v2.7&appId=xxxxxxx";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

1 个答案:

答案 0 :(得分:1)

不,如果没有user_likes权限,您就无法获得类似状态。您还应该考虑在进行API调用之前检查登录状态:

FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
        //user is authorized
        FB.api(...);
    } else {
        //user is not authorized
    }
});

来源:http://www.devils-heaven.com/facebook-javascript-sdk-login/