使用FB的新JS SDK,我注意到没有对话框告诉用户从我的应用程序退出时他们将从Facebook注销。
现在发生的事情有点像UI / UX问题:用户从我的应用程序注销,但 也 会自动从Facebook注销而不会发出警告,这可能很烦人。
是否有人使用FB SDK方法或FB.logout();
中的其他功能解决了这个问题?
感谢您的帮助。
答案 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
});
希望有所帮助。