FB.logout() 在没有访问令牌的情况下调用 [英] FB.logout() called without an access token

查看:22
本文介绍了FB.logout() 在没有访问令牌的情况下调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试退出我创建的集成了 Facebook 的网站.登录工作正常,但是当我想注销 Firebug 时,始终会出现此错误:

I'm trying to log out of a website i've created with Facebook integrated. Logging in works fine, but when I want to log out Firebug consistently gives me this error:

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

FB.logout() called without an access token.

我使用的是 Facebook JavaScript SDK,我必须注销的代码如下所示:

I'm using the Facebook JavaScript SDK, and the code I've got to logout looks like this:

$(document).ready($(function () {
    $("#fblogout").click(facebooklogout);
}));

function facebooklogout() {
    FB.logout(function (response) {
    }
)};

这是 Facebook 开发者文档 中指定的注销代码,只需一个按钮在 document.ready 上分配方法

This is the logout code specified at the Facebook Developers Documentation just with a button being assigned the method on document.ready

在此代码之前,我有 FB.init() 方法,一切正常.

Before this code I have the FB.init() method, that all runs fine.

如果有人能解决为什么 FB.logout 没有访问令牌的问题,我们将不胜感激.

If anyone's got a solution as to why FB.logout doesn't have an access token, it'd be appreciated.

推荐答案

要从使用 facebook graph API 的应用程序注销,请在注销页面上

标签后使用此 JavaScript:

To logout from the application which uses facebook graph API, use this JavaScript on the logout page just after the <form> tag:

window.onload=function()
{
    // initialize the library with your Facebook API key
    FB.init({ apiKey: 'b65c1efa72f570xxxxxxxxxxxxxxxxx' });

    //Fetch the status so that we can log out.
    //You must have the login status before you can logout,
    //and if you authenticated via oAuth (server side), this is necessary.
    //If you logged in via the JavaScript SDK, you can simply call FB.logout()
    //once the login status is fetched, call handleSessionResponse
    FB.getLoginStatus(handleSessionResponse);
}

//handle a session response from any of the auth related calls
function handleSessionResponse(response) {
    //if we dont have a session (which means the user has been logged out, redirect the user)
    if (!response.session) {
        window.location = "/mysite/Login.aspx";
        return;
    }

    //if we do have a non-null response.session, call FB.logout(),
    //the JS method will log the user out of Facebook and remove any authorization cookies
    FB.logout(handleSessionResponse);
}

代码有效并在我的网站上发布.

The code works and is live on my site.

这篇关于FB.logout() 在没有访问令牌的情况下调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆