Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2014, 14:57   #1
vladvilko
Новичок
Джуниор
 
Регистрация: 17.05.2014
Сообщений: 1
По умолчанию Авторизация на Facebook посредством Facebook C# SDK [C#] [Desctop]

Тогда:
Когда не было еще нормальных интернетов, изучал своими силами Delphi. Что-то получалось, написал несколько проектов, одним из них пользуюсь до сих пор. Так случилось, что начал учиться, ходить в моря, появились другие увлечения и программирование было забыто.

Сейчас:
За это время многое изменилось в сфере программирования, Delphi стал не столь востребованным, на свет пришла технология .Net с её Visual Studio и C#. Почитал пару статей о всём этом. Заинтересовался, внутри организма что-то проснулось, то, что давно уже было забыто. Захотелось начать программировать снова. Положил глаз на C# — Язык молодой и перспективный, ахрененная поддержка от Microsoft и невероятно огромная документация и т.д. Откопал в этих наших интернетах пару книг о C# и начал неторопливо изучать. Немного познакомился с азами этого языка, начал потихоньку понимать, что да как. Но понял, что эта вся теория, всё-таки немного скучна. Поразмыслив, решил сделать простенький, никому не нужный - Facebook Messenger. Всем известно, что Facebook прекратила её поддержку. Думаю - этот вариант стал бы хорошим тренажером для меня и позволил бы поближе познакомиться с внутренностями языка C#.

Полазив в интернете наткнулся на набор библиотек Facebook C# SDK версии 6.4.2 . Начал новый проект, интегрировал в него SDK. В Фейсбуке создал новое приложение, получил AppID и App Secret. Нарыл документацию и примеры с исходниками. Начал пытаться что-то собрать и наткнулся на первое непреодолимое препятствие. Это общее непонимание, как работать с этим SDK и Facebook Api. Все примеры, которые скачал - работают на старых библиотеках фейсбук сдк, в новых же, многих классов попросту не существует или поменяли своё местоположение (т.е. исходники потеряли свою актуальность и ничем не могут помочь в данной ситуации). А на счет документации к SDK - она сплошь и рядом написана для чего угодно (W8 и W8.1 Store (metro интерфейс), WP7.1 и WP8, Asp Net, Azure и т.д.) кроме Windows Desctop (WinForms).
Поковырявшись пару суток, смог получить Access Token от этой социальной сети, и хоть убей, не могу заставить своё приложение вывести на webbrowser окно авторизации пользователя и пройти авторизацию.
Перелопатил множество англоязычных ресурсов, ничего не нашел по Facebook SDK v.6xx для Windows Forms, всё что есть, есть на старые версии сдк, которые нормально работали со старым Facebook Api.

В общем, вопрос таков - люди, кто работал или работает с этой библиотекой, подскажите, как получить в webbrowser ссылку на окно авторизации пользователя? Поделитесь исходным кодом.

Код:
Form1
...
using Facebook;
...
const string _facebookAppId = "Идентификатор приложения"; //Идентификатор приложения
const string _permissions = "user_about_me,read_stream,publish_stream"; //Права доступа
public static FacebookClient _fb = new FacebookClient(); //Facebook.FacebookClient()
...
        public static string LoginUri()
        {
            var redirectUrl = "https://www.facebook.com/connect/login_success.html";

            //Отправляю запрос в фейсбук и записываю полученную ссылку на страницу авторизации
            var loginUrl = _fb.GetLoginUrl(new
            {
                client_id = _facebookAppId,
                redirect_uri = redirectUrl,
                scope = _permissions,
                display = "popup",
                response_type = "token"
            });

            return loginUrl.AbsoluteUri;            
        }
...
private string loginUriFB = Form1.LoginUri();

        public FBLogin()
        {
            InitializeComponent();
            
            fbWebLogin.Navigate(loginUriFB);         //Отправляю веббраузеру полученную выше ссылку   
        }

        //При передачи ссылки на логин фейсбука ( loginUriFB ) 
        //отправляется tokken в e.Url
        private void fbWebLogin_Navigated(object sender, WebBrowserNavigatedEventArgs e)
        {
            FacebookOAuthResult fresult = null;
            Form1._fb.TryParseOAuthCallbackUrl(e.Url, out fresult); //Эти конструкции не нужны, но пока
            if (fresult != null)                                                     //экспериментировал, оставил так
            {
                var callbackUri = new Uri(e.Url.AbsoluteUri); //записываю полученный урл браузера
                var facebookOAuthResult = Form1._fb.ParseOAuthCallbackUrl(callbackUri);
                var accessToken = facebookOAuthResult.AccessToken; //токен получен, что делать - хз

                if (String.IsNullOrEmpty(accessToken))
                {
                    // Пользователь не залогенился
                }
                else
                {
                    MessageBox.Show(accessToken);                    
                }
                
            }
        }
Получаю в accessToken токкен от фейсбука, а что делать дальше, не знаю.
Facebook SDK v6.4.2
vladvilko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
API Facebook, отправляем сообщение на страницу Facebook из PHP. bpystep Помощь студентам 1 26.01.2014 17:30
The Facebook xenusa Работа с сетью в Delphi 0 24.12.2011 11:30
Авторизация через FaceBook Gorychev PHP 3 01.11.2011 17:19
авторизация на facebook serj1985 Работа с сетью в Delphi 2 13.08.2011 12:35