#facebook #apache-flex #logout
#Facebook #apache-flex #Выход
Вопрос:
Ну, я разрабатываю настольное приложение Flex, и я не могу выйти из facebook. Я имею в виду, что после входа в систему и обновления фотографии, которую я хочу обновить, я запускаю метод выхода из системы, который выглядит следующим образом
FacebookDesktop.logout(handleLogout);
Где handleLogout — это функция, с помощью которой я могу делать другие вещи.
Метод выполняется, но никогда не выходит из системы. Я думаю, что, возможно, загрузив другой запрос, я мог бы выйти из системы, и я обнаружил, что с помощью:
«https://www.facebook.com/logout.php ?» info.get_accessToken() «amp;next=http://www.Google.com»
я бы вышел из системы, но я не знаю, где я могу получить accesToken.
Заранее спасибо!
Комментарии:
1. Я, наконец, получил метод получения токена доступа, usig graph.facebook.com/oauth / … но я не знаю, как получить его из flex, и я не совсем уверен, что, используя этот URL, я мог бы выйти из facebook…
Ответ №1:
Следующий код реализован в для asp.net страница с использованием кода на C #.
ОБЪЯСНЕНИЕ
Сначала вам нужно отправить запрос на аутентификацию пользователя (часть IF). Вы получите «КОД» для успешной аутентификации. Затем отправьте запрос с этим кодом для авторизации приложения. При успешной авторизации вы получите токен доступа в качестве ответа.
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_IDamp;redirect_uri=CURRENT_URLamp;client_secret=APP_SECRETamp;code=" Request.QueryString["code"]);
}
else
{
Response.Redirect("https://www.facebook.com/dialog/oauth?client_id=CLIENT_IDamp;redirect_uri=CURRENT_URLamp;scope=read_stream");
}
}
ВОТ ПРОЦЕДУРА
- Создайте asp.net веб-сайт
- На странице default.aspx реализуйте приведенный выше код.
- Замените CLIENT_ID, APP_SECRET на AppID и AppSecret соответственно
- CURRENT_URL должен быть URL страницы, на которой вы внедряете код.
- Часть «amp;scope= read_stream» не является обязательной. Если вам нужны какие-либо дополнительные разрешения, пожалуйста, введите их здесь в виде значений, разделенных запятыми.
Вы получите строку в формате
access_token=ACCESS_TOKEN_VALUEamp;expires=EXPIRY_TIME
в качестве ответа.
Попробуйте это, чтобы отправить POST-запрос с помощью flex
var urlLoader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("https://www.facebook.com/logout.php?next=YOUR_URLamp;access_token=ACCESS_TOKEN");
request.data = binaryData;
request.method = URLRequestMethod.POST
urlLoader.load(request);
Комментарии:
1. Спасибо за вашу помощь, я уже разрабатываю приложение Facebook, следуя инструкциям, я переписываю некоторый код… но я не могу получить токен доступа… не могли бы вы знать, как я мог бы это получить?
2. Спасибо, Робин, к сожалению, я не совсем понимаю процедуру, которую вы опубликовали, я имею в виду, я не очень разбираюсь в html. Возможно, есть самый простой способ получить токен доступа…
3. Есть ли у вас базовые рабочие знания в asp.net или C#.net . пожалуйста, дайте мне знать. Это стандартная процедура graph api для получения токена доступа. Единственный другой способ, которым вы можете получить токен доступа, — это посетить ( developers.facebook.com/tools/explorer/?method=GET ). Есть кнопка «ПОЛУЧИТЬ ТОКЕН ДОСТУПА». Но это токен доступа только для вас. Вы не можете получить токены доступа для других пользователей таким образом
4. Спасибо, Робин, я, наконец, использую другой метод для получения usign токена доступа graph.facebook.com/oauth / … но я не могу выйти из системы с помощью токена доступа, поэтому вопрос заключается в том, существует ли правильный способ выхода пользователя из facebook. Большое спасибо за ваше время и помощь
5. Отправьте запрос POST на ‘ facebook.com /… ‘ Это правильный способ выхода из Facebook, как указано на сайте Facebook ( developers.facebook.com/docs/authentication Прочитайте раздел Выход из системы)