Facebook JS SDK无法注销

时间:2017-03-22 10:58:18

标签: javascript facebook facebook-javascript-sdk logout

我似乎遇到了一个奇怪的问题,如果我调用FB.logout,应用程序会成功注销,状态将返回unknown。 但是当我刷新页面时,状态返回connected并且我已登录。

    function facebookLogout() {
        FB.getLoginStatus(function(response) {
            console.log(response.status);
            if (response && response.status === 'connected') {
                FB.logout(function(response) {
                    console.log(response);
                    $('.not-logged-in').css({ "display": "inline-block" });
                    $('.logged-in').css({ "display": "none" });

                    // Not logged in
                    document.getElementById('status').innerHTML = 'Please login.';

                    // UI
                    $('#account-options').slideDown();
                });
            }
        });
    }

我如何在页面加载时检查登录状态:

    window.fbAsyncInit = function () {
        FB.init({
            appId: 'appId',
            cookie: true, // enable cookies to allow the server to access
            // the session
            xfbml: true, // parse social plugins on this page
            version: 'v2.5' // use graph api version 2.5
        });

        FB.getLoginStatus(function (response) {
            console.log(response);
            account.facebookStatusChangeCallBack(response, function () {
                // Logged in
                facebookLogin();

                // Login to GameSparks and get player data
                account.gameSparksLogin(function (player) {
                    onGameSparksLogin(player, true);
                }, function (error) {
                    // TODO: Handle error
                });

                // UI
                $('#account-options').slideDown();
                setTimeout(function () {
                    $('#account-options').slideUp();
                }, 2500);

            }, function () {
                // Not logged in
                document.getElementById('status').innerHTML = 'Please login.';

                // UI
                $('#account-options').slideDown();
                setTimeout(function () {
                    $('#account-options').slideUp();
                }, 2500);

            });
        });
    };

任何帮助将不胜感激。非常感谢你。 PS:我也尝试过期cookie(来自控制台),但它只是重新设置页面刷新。

0 个答案:

没有答案