我的 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>
答案 0 :(得分:0)
根据 documentation,unknown
状态发生在 FB 无法确认用户是否已登录并授予您的应用程序权限时。因此,收到该状态似乎是正常情况,用户应该尝试重新登录。
另一件事是为什么您总是在第一个请求中获得此 unknown
状态。不知道为什么会这样。
顺便说一下 - 我认为您使用的是旧版本的 Facebook API。 (目前 v10 是最新的)