FB.getLoginStatus не запускает функцию обратного вызова

У меня трудная проблема. Сложно означает, что я просмотрел сеть и StackOverflow, а также всю документацию FBJS SDK и не нашел ответа.

Я создаю приложение Page Tab, в котором я хотел бы позволить фанатам участвовать в мероприятиях rsvp. Поэтому я должен проверить, вошел ли пользователь в систему, и если нет, мне нужно войти в систему. Звучит довольно просто, но FB.getLoginStatus не запускает функцию обратного вызова. Это отрывок кода:

FB.init({
   appId: window.appID,
   status: true,
   xfbml: true,
   cookie: true,
   oauth: true,
   channelUrl: 'http://example.com/fb/channel.html'
 }); 

, а затем я просто - конечно, после того, как пользователь нажимает кнопку - вызываю FB.getLoginStatus, но, похоже, он ничего не делает.

Я уже проверял режим песочницы, FB.Успех инициализации, URL-адреса в настройках приложения и среде разработки. Я могу вызвать FB.ui, хотя FB.ui с методом: 'oauth' я получаю сообщение об ошибке, в котором говорится: «Параметр« redirect_uri »не может использоваться вместе с параметром« next », который является устаревшим». Что очень странно, потому что я не использовал параметр «следующий». Но когда я устанавливаю значение undefined, он работает нормально, я получаю окно, но в нем говорится: «Данный URL не разрешен конфигурацией приложения». Ожидайте от этого, я могу войти в систему, тогда у меня будет access_token. Но в новом окне getLoginStatus по-прежнему ничего не делает.

Так что любые советы приветствуются.

Спасибо, Тамас

ОБНОВЛЕНИЕ :

function onBodyLoad() { //on body onload
    FB.init({
     appId: window.appID,
     status: true,
     xfbml: true,
     cookie: true,
     oauth: true,
     channelUrl: 'http://example.com/fb/channel.html'
    });     
   }
...
function getName() { // on button onclick
 FB.getLoginStatus(function(response){
  if (response.authResponse)
   {
    window.loggedIn = true;
    debugString('Logged in');
   } else
   {
    window.loggedIn=false; 
    debugString('Not logged in');
   }
}, true);
if (window.loggedIn === undefined)   {
     debugString('getLoginStatus did not exec'); // I always get this message
  }

}

ОБНОВЛЕНИЕ 2 : я создал новое приложение по другому URL-адресу, которое настроено как отдельный веб-сайт. Там эти коды работают отлично, я могу getLoginStatus, я могу войти в систему и т. Д. Есть ли разница в работе в контексте FB и на автономном веб-сайте с использованием FB JavaScript SDK?

12
задан Sándor Tamás 27 September 2011 в 18:24
поделиться