Facebook FB.logout()是否还有对话框?

时间:2011-05-25 02:06:25

标签: javascript facebook sdk logout

使用FB的新JS SDK,我注意到没有对话框告诉用户从我的应用程序退出时他们将从Facebook注销。

现在发生的事情有点像UI / UX问题:用户从我的应用程序注销,但 会自动从Facebook注销而不会发出警告,这可能很烦人。

是否有人使用FB SDK方法或FB.logout();中的其他功能解决了这个问题?

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

不幸的是,这是按照此处所述设计的:http://developers.facebook.com/docs/reference/javascript/FB.logout/。由于这是在Javascript SDK中设计的,我相当自信地假设服务器端库将产生相同的结果。

答案 1 :(得分:1)

您必须为此创建自己的UI对话框(或使用已弃用的connect javascript sdk)。您可以弹出一个UI对话框,警告他们将从您的应用程序&在Facebook之外,或者在FB.logout函数中指定一个回调方法,告诉他们之后他们已经从两者中注销了。

答案 2 :(得分:0)

我找到了一个技巧,只是将客户端的用户从应用程序中导出,但让他在Facebook上登录:

FB._authResponse = null;
FB._userStatus = null;

之后,对 FB.api 的调用将返回正确的错误:

>>> FB.api('me', log)
{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException"}}

此外, FB.getLoginStatus FB.getAuthResponse 返回null或表现得像用户未登录:

>>> FB.getLoginStatus(log)
{"status":null,"authResponse":null}

您甚至可以使用 FB.login()

再次登录用户

但重新加载后,如果您的 FB.init 配置中 status ,则用户将自动重新登录:

FB.init({
    appId      : 'yourappid',
    status     : false, // will not load the user automatically on pageload/refresh
    cookie     : true,  // will leave the userid in FB._userID
    oauth      : true,
    xfbml      : true
});

希望有所帮助。