Выйти из Facebook - PullRequest
       24

Выйти из Facebook

0 голосов
/ 14 октября 2011

Ну, я разрабатываю настольное приложение Flex и не могу выйти из Facebook.Я имею в виду, что после входа в систему и обновления фотографии, которую я хочу обновить, я запускаю метод выхода из системы, который выглядит следующим образом

FacebookDesktop.logout(handleLogout);

Где handleLogout - это функция, в которой я могу выполнять другие действия.

Метод работает, но никогда не выходит из системы.Я думаю, что, возможно, загружая другой запрос, я мог бы выйти из системы, и я нашел это, используя:

"https://www.facebook.com/logout.php?" + info.get_accessToken () +" & next = http://www.Google.com"

выйдет из системы, но я не знаю, где я могу получить accesToken.

Заранее спасибо!

1 Ответ

1 голос
/ 15 октября 2011

Следующий код реализован для страницы asp.net с использованием кода C #.

ОБЪЯСНЕНИЕ

Сначала необходимо отправить запрос на аутентификацию пользователя (Если часть).Вы получите «КОД» при успешной аутентификации.Затем отправьте запрос с этим кодом для авторизации приложения.При успешной авторизации вы получите токен доступа в качестве ответа.

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.QueryString["code"] != null)
    {
        Response.Redirect("https://graph.facebook.com/oauth/access_token?client_id=CLIENT_ID&redirect_uri=CURRENT_URL&client_secret=APP_SECRET&code="+Request.QueryString["code"]);
     }
     else
     {
        Response.Redirect("https://www.facebook.com/dialog/oauth?client_id=CLIENT_ID&redirect_uri=CURRENT_URL&scope=read_stream");
     }
}

ЗДЕСЬ ПРОЦЕДУРА

  1. Создание сайта asp.net
  2. На странице default.aspx реализуйте приведенный выше код.
  3. Замените CLIENT_ID, APP_SECRET на AppId и AppSecret соответственно
  4. CURRENT_URL должен быть URL-адрес страницы, на которой вы реализуете код.
  5. Часть " & scope = read_stream "не является обязательнымЕсли вам нужны какие-либо дополнительные разрешения, введите их здесь как запятые.

Вы получите строку в формате

access_token = ACCESS_TOKEN_VALUE & expires = EXPIRY_TIME

в качестве ответа.


Попробуйте отправить POST-запрос, используя flex

var urlLoader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("https://www.facebook.com/logout.php?next=YOUR_URL&access_token=ACCESS_TOKEN");
request.data = binaryData;
request.method = URLRequestMethod.POST
urlLoader.load(request);
...