1

Я хочу создать систему входа, которая также может использовать логин FB. Поэтому я установил объект FB и SDK на свою страницу, а затем подписался на событие auth.authResponseChange и добавил анонимную функцию для работы, если я зарегистрирован, не зарегистрирован или не авторизовался.Проблемы с обработкой response.status в файле auth.authResponseChange

Когда я зарегистрирован, он работает правильно. Когда я не зарегистрирован или не авторизовался, он ничего не делает. Я думаю, что он просто не входит в анонимную функцию, потому что я поставил console.log() перед if и ничего не делает.

Вот мой код:

// Facebook stuff 
window.fbAsyncInit = function() 
{ 
    FB.init({ 
    appId  : 'my id blabla', // App ID 
    channelUrl : 'my channel.html bla bla', // Channel File 
    status  : true, // check login status 
    cookie  : true, // enable cookies to allow the server to access the session 
    xfbml  : true // parse XFBML 
    }); 

    FB.Event.subscribe('auth.authResponseChange', function(response) 
    { 
    console.log("Running function"); 

    if(response.status === "connected") 
    { 
     console.log("Connected and authorized"); 
    } 
    else if (response.status === 'not_authorized') 
    { 
     console.log("Not authorized"); 
    } 
    else 
    { 
     console.log("Not connected"); 
    } 
    }); 
}; 

// Load the SDK asynchronously 
(function(d) 
{ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
}(document)); 

ответ

0

У меня такая же проблема, но для чего это стоит, если вы подписаться на событие «auth.statusChange» вместо «authResponseChange» вы можете знать, если он «связан 'to facebook и авторизованное приложение, или если он подключен к fb, но не авторизован.

Кроме того, если вы используете FB.getLoginStatus, который facebook проконсультировать не, вы можете знать, в каком из трех состояний (связное, not_autorized или not_connected) пользователь находится в.

Смежные вопросы