Мое приложение использует Facebook аутентификации:Как обнаружить выход пользователя из Facebook после входа в мое приложение?
FB.init({
appId: config.fbAppId,
status: true,
cookie: true,
// xfbml: true,
// channelURL : 'http://WWW.MYDOMAIN.COM/channel.html', // TODO
oauth : true
});
// later...
FB.login(function(response)
{
console.log(response);
console.log("authId: " + response.authResponse.userID);
gameSwf.setLoginFacebook(response.authResponse.accessToken);
}, {scope:'email,publish_actions,read_friendlists'});
И при его использовании, люди могут размещать на их стене:
var obj = {
method: 'feed',
link: linkUrl,
picture: pictureUrl,
name: title,
caption: "",
description: message
};
function callback(response) {
// console.log("Post on wall: " + response);
}
FB.ui(obj, callback);
Это прекрасно работает, но есть одна маленькая hickup. Если люди:
- Войти в приложение.
- Выйти из Facebook.
- Попытка сделать сообщение стены из приложения.
Открывается диалоговое окно открытия стены. Консоль говорит: «Отказано от отображения документа, потому что отображение запрещено с помощью X-Frame-Options.».
Могу ли я вместо этого получить Facebook, чтобы показать приглашение для входа пользователю. Или я могу обнаружить ошибку и сообщить пользователю, что он больше не вошел в систему на Facebook?
Это казалось многообещающим, но после выхода из системы 'getLoginStatus 'все еще возвращает соединение. Я также подписался на 'auth.logout' и' auth.statusChange', но ни один из них не срабатывает, когда я выхожу из системы или когда я пытаюсь сделать стенографию. –
Странно, как не стреляют. До тех пор, пока методы FB.Event.subsrcibe содержатся в документе $ (document) .ready (function(), они должны срабатывать. $ (document) .ready (function() { FB.Event.subscribe ('auth .login ', function (response) { console.log (auth.login)) }) }) Конечно, я предполагаю, что они не содержатся в документе $ (document) .ready (функция(), но через тестирование они всегда срабатывают вместе с другими событиями. – iamchrisfryer