FB.logout()在没有访问令牌的情况下调用.javascript sdk

Jar*_*ier 9 facebook facebook-javascript-sdk facebook-login

完全失去了这个和文档并没有真正对此有任何见解......

使用此登录按钮代码在我的应用程序中使用Facebook Javascript SDK:

<fb:login-button scope="manage_pages,read_insights,ads_management" autologoutlink="true" size="large"></fb:login-button>
Run Code Online (Sandbox Code Playgroud)

根据文档,autologoutlink=trueparam会在用户登录后将login按钮设置为log out.我想保留此功能而不是编写自己的按钮代码

此事件调用FB.logout但仍返回回调中的错误消息

FB.Event.subscribe('auth.logout', function(response) {                                              
    FB.logout(function(response) {
        // FB.logout() called without an access token.
    });
});
Run Code Online (Sandbox Code Playgroud)

我想使用Facebook登录窗口小部件而不是我自己的登录按钮,所以对同一主题的其他答案没有帮助.我不明白我应该如何通过access_token来证明我有权注销...

Jar*_*ier 30

显然这是不可能的,至少我无法弄明白.快速解决方案是从自定义Log Out按钮调用此函数:

function fbLogoutUser() {
    FB.getLoginStatus(function(response) {
        if (response && response.status === 'connected') {
            FB.logout(function(response) {
                document.location.reload();
            });
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

页面重新加载向Facebook发出另一个请求,然后查看未授权状态并从浏览器中删除cookie,这反过来使access_token无效.因此,这将从网站和Facebook注销用户.