1

我们有一段代码:

            checkStatus: function() {

            var self = this;

            FB.getLoginStatus(function(response) {
                if (response.status === 'connected') {

                    self.isPage = false;
                    dojo.publish('fb/loginStatus/connected', response.authResponse);

                    if (self.UserRecord === null) {

                        self.buildAll(response.authResponse);

                    } else if (self.UserRecord.user_fid !== response.authResponse.userID){

                        self.clearAll();
                        setTimeout(function(){ self.buildAll(); }, 100);
                    }

                } else {

                    if (response.status === 'not_authorized') {
                        dojo.publish('fb/loginStatus/logged', response);
                    } else {

                        dojo.publish('fb/loginStatus/notLogged', response);
                    }
                }
            },true);
        },

一切正常,直到用户输入我们登录为 facebook 页面的应用程序,Fb.getLoginStatus 不会触发它的回调。

我的问题是,如何在应用程序中检测或做其他事情来处理这种情况?

干杯,保罗

4

1 回答 1

0

我打赌这是一个错误。去年当用户处于沙盒模式时,FB.getLoginStatus 也存在类似问题。无论如何,您可以让用户切换回他们的普通用户:

FB.login(function(response) {
    // response handler
});

它将显示一条提示“您正在以不同用户身份使用 Facebook”,并要求您切换回标准用户。

另一种选择是在特定超时后显示其中一个 facebook 社交小部件(例如,喜欢按钮)。它没有显示一个喜欢的按钮,而是提供了一个链接,上面写着“切换回普通用户以使用这个社交小部件”。

希望这些建议有所帮助。

于 2012-04-26T13:21:42.090 回答