Facebook Javascript SDK:getLoginStatus没有响应

时间:2015-10-27 22:54:32

标签: facebook facebook-javascript-sdk

根据this page的说明,我将SDK片段包含在我的页面中,但由于我没有任何Facebook APP,而我只是想在我的页面上构建自定义共享按钮,留下参数" app-id"为null。要测试它是否已启动并正在运行,请在控制台上执行

FB.getLoginStatus(function(response){
      console.log(response)
})

当我登录FB时。但是,它返回undefined,这意味着没有响应。怎么了?这是因为我没有指定" app-id"?

1 个答案:

答案 0 :(得分:2)

取决于您从哪个位置调用getLoginStatus以及按什么顺序调用。它需要位于fbAsyncInit函数内:

window.fbAsyncInit = function() {
      FB.init({
          appId      : 'your-app-id',
          xfbml      : true,
          version    : 'v2.4'
      });

      FB.getLoginStatus(function(response){
          console.log(response);
      });
}
(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/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
 }(document, 'script', 'facebook-jssdk'));

应加载SDK,初始化所有内容,然后获取登录状态。