У меня сложная проблема. Трудные средства Я искал через сеть и StackOverflow, а также всю документацию FBJS SDK и не нашел ответа.
Я создаю приложение 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.init, URL-адреса в настройках приложения и среды разработки. Я могу вызвать FB.ui, хотя FB.ui с методом: "oauth" Я получаю сообщение об ошибке: "Параметр" redirect_uri "не может использоваться в сочетании со" следующим "параметром, который устарел.". Это очень странно, потому что я не использовал параметр "Следующий". Но когда я устанавливаю рядом с 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?