2013-02-15 4 views
3

Я это Js:FB.login() возвращает нуль на первый вызов

$(document).ready(function() { 
    $('.login-link').click(function() { 
    FB.login(function(response) { 
     console.log(response); 
     if (response.authResponse) { 
     console.log('Welcome! Fetching your information.... '); 
     FB.api('/me', function(resp) { 
      console.log('Good to see you, ' + resp.name + '.'); 
     }); 
     } else { 
     console.log('User cancelled login or did not fully authorize.'); 
     } 
    }, {scope: 'email'}); 

    }); 
}); 

, который связан с <div class="login-link">FB modal login</div>

Проблема заключается в том, когда я нажимаю на кнопку FB.login и авторизовать приложение response.authResponse - это null и response.status не_авторизован. Если я снова нажму на нее или обновит страницу, она показывает, что пользователь разрешил приложение, но, очевидно, мне это нужно в первый раз. Код взят от Facebook с небольшими изменениями.

Любые идеи, как это решить?

ответ

3

Просто хотел показать обходное решение этой проблемы, если кто-то еще борется с этим.

$(document).ready(function() { 
    $('.login-link').click(function() { 
    FB.login(function(response) { 
     FB.getLoginStatus(function (resp) { 
     console.log(resp); 
     }, true); 
    }, {scope: 'email'}); 
    }); 
}); 

Я оставляю мой вопрос открытым, потому что это на самом деле не отвечает на вопрос, почему FB.login не работает, но по крайней мере обеспечивает временное решение.

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