FB.getLoginStatus не запускается, если пользователь не вошел в систему Facebook

Я работаю над приложением Facebook, которое интегрировано с Facebook, и пытаюсь получить сеанс FB пользователя. Насколько я понимаю, наиболее распространенный сценарий использования выглядит следующим образом:

  1. call FB.init ()
  2. call FB.getLoginStatus , давая ему соответствующий обратный вызов.

Я запустил. следующий код (идентификатор приложения).

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
    <!--

    function init(){
        FB.init({
            appId  : '9999999999999',
            status : true, // check login status
            cookie : true, // enable cookies to allow the server to access the session
            xfbml  : true, // parse XFBML
            channelUrl : 'http://127.0.0.1:8888/channel.html', // custom channel
            oauth  : true // enable OAuth
        });
        alert('going to call FB.getLoginStatus ');

        FB.getLoginStatus(function(response) {
            alert('whoo hoo!!! getLoginStatus called the callback');
        });
    }
    init();
    //-->
</script>

Если пользователь уже вошел в Facebook в том же сеансе браузера, тогда все работает, как ожидалось, - возвращается заполненный _response.authResponse_ . Однако, если пользователь не вошел в Facebook, обратный вызов вообще не запускается. Проверяя сетевой журнал браузеров, я вижу, что Facebook возвращает следующий ответ (запрос от http://www.facebook.com/dialog/oauth ?).

Ошибка приложения: возникла проблема с получением данные для запрошенного вами приложения. Приложение может быть недействительным, либо возник временный сбой. Пожалуйста, повторите попытку позже.

Я проверил это в Chrome и Firefox (Mac).


Обновление

Я хотел бы поблагодарить всех, кто ответил.

Комментарий Бена дал ответ.

Спасибо, Бен - ты избавил меня от разочарования.

10
задан Community 23 May 2017 в 11:52
поделиться