完全失去了这个,docs并没有真正对此有所了解......
使用此登录按钮代码在我的应用中使用Facebook Javascript SDK:
<fb:login-button scope="manage_pages,read_insights,ads_management" autologoutlink="true" size="large"></fb:login-button>
根据文档,autologoutlink=true
param会在用户登录后将login
按钮转换为log out
。我想保留此功能而不是编写我自己的按钮代码
此事件调用FB.logout
但仍返回回调中的错误消息
FB.Event.subscribe('auth.logout', function(response) {
FB.logout(function(response) {
// FB.logout() called without an access token.
});
});
我想使用Facebook登录窗口小部件而不是我自己的登录按钮,因此对同一主题的其他答案没有帮助。我不明白我应该如何通过access_token来证明我有权注销...
答案 0 :(得分:30)
显然这是不可能的,至少我无法弄明白。快速解决方案是从自定义Log Out
按钮调用此函数:
function fbLogoutUser() {
FB.getLoginStatus(function(response) {
if (response && response.status === 'connected') {
FB.logout(function(response) {
document.location.reload();
});
}
});
}
页面重新加载向Facebook发出另一个请求,然后查看未授权状态并从浏览器中删除cookie,这反过来使access_token无效。因此,这将从网站和Facebook中注销用户。
答案 1 :(得分:-1)
试试这个:
function fbLogoutUser() {
FB.getLoginStatus(function(response) {
if (response && response.status === 'connected') {
FB.logout(function(response) {
document.location.reload();
});
} else if (response.status === 'not_authorized')
{
FB.logout(function(response) {
document.location.reload();
});
}
});}