Около 0,3% пользователей не могут получить свой идентификатор FB с помощью JS API. В некоторых случаях я получил это раньше для этих пользователей. Что может быть причиной этого и любых идей о том, как его исправить?Иногда не удается получить идентификатор FB с помощью API JS
Насколько я знаю, большинство этих пользователей были в Windows и использовали firefox.
Мой код:
window.fbAsyncInit = function() {
FB.init({
appId : "xxxx",
status : true,
cookie : true,
xfbml : true,
oauth : true
});
FB.Canvas.setSize({width:$("#mainbody").outerWidth(),height:$("#mainbody").outerHeight()});
FB.getLoginStatus(function (response) {
if(response.authResponse){
if(response.authResponse.userID){
fbId = response.authResponse.userID;
$("#hiddenFbId").val(fbId);
setSession();
}
}
if (response.status === 'connected') {
FB.api(
"/me?locale=et_EE",
function (response) {
if (response && !response.error) {
fbName = response['name'];
fbId = response['id'];
$("#hiddenFbId").val(fbId);
fbEmail = response['email'];
setSession();
}
});
} else {
FB.login(function (response) {
if (response.authResponse) {
if(response.authResponse.userID){
fbId = response.authResponse.userID;
$("#hiddenFbId").val(fbId);
setSession();
}
FB.api(
"/me?locale=et_EE",
function (response) {
if (response && !response.error) {
fbName = response['name'];
fbId = response['id'];
$("#hiddenFbId").val(fbId);
fbEmail = response['email'];
setSession();
}
});
} else {
fbDenied = true;
}
}, {
scope : 'public_profile,email,user_likes'
});
}
});
}
FB.login не должен быть проблемой, потому что приложение находится на вкладке страницы FB и не может быть доступно, если вы не вошли в систему. Я по-прежнему пытаюсь переместить логин, чтобы щелкнуть. –
Это не так, и это не имеет значения - поскольку вкладки страниц могут быть доступны, когда они не вошли в систему. FB.login должен ВСЕГДА быть вызван при взаимодействии с пользователем. – luschn