FB Javascript 登录 SDK 的问题

时间:2021-04-11 20:13:21

标签: javascript oauth sdk

我的 FB 登录几乎正常。唯一的问题是当我第一次登录时,响应状态 === 未知。 de 弹出窗口关闭并且没有重定向,因为状态未知,好吧.. 第二次登录尝试我按下 fb 登录按钮,弹出窗口再次打开并关闭,重定向发生。在浏览器中有 2 个 fbsr_{appid} cookie。然后状态 === 已连接。

function fblogin() {
FB.init({
  appId      : '{ my app id }',
  cookie     : true, 
  xfbml      : true,  
  version    : 'v3.2'
});

FB.login(function (response) {

        console.log(response);

        if (response.status === 'connected') {  
            
        FB.api('/me',  { locale: 'en_US', fields: 'email,first_name,last_name,id' },
        function (response) {

              window.location.href = '/page_to_redirect_to?UserNAME=' + response.first_name + '%20' + response.last_name + '&UserEMAIL=' + response.email  + '&UserID=' + response.id;

        });
    }
}, {scope: 'email'});
}


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


  <button onclick="fbLogin();" class="fb connect">Sign in with Facebook</button>

1 个答案:

答案 0 :(得分:0)

根据 documentationunknown 状态发生在 FB 无法确认用户是否已登录并授予您的应用程序权限时。因此,收到该状态似乎是正常情况,用户应该尝试重新登录。

另一件事是为什么您总是在第一个请求中获得此 unknown 状态。不知道为什么会这样。

顺便说一下 - 我认为您使用的是旧版本的 Facebook API。 (目前 v10 是最新的)

相关问题