У меня трудная проблема. Сложно означает, что я просмотрел сеть и 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?