2013-09-30 1 views
0

Я пытаюсь написать простое приложение для рабочего стола Facebook (C# WPF). Единственное, что должна показывать программа, - это временная шкала пользователей. Я довольно новичок в .net Facebook sdk (v 6.0). Я прочитал много документации на сайте sdk, а также на сайте разработчиков Facebook. Пока все звучит ясно, кроме одного. У меня большие проблемы со всей записной книгой. Поскольку я читаю на сайте разработчика, мне нужно получить токен доступа пользователя, чтобы получить «личные» данные пользователя. Как описано на сайте sdk, единственный способ получить такой токен - открыть браузер с правильным URI и извлечь из него токен. Действительно ли это единственный способ сделать это? Я не хочу открывать браузер или что-то в этом роде. Нет ли способа отправить имя пользователя и пароль на какой-либо веб-сервис или что-то еще, чтобы получить токен? Кто-нибудь есть идея, как я могу получить токен без браузера?.net desktop facebook sdk UserToken

С наилучшими пожеланиями Manuel

ответ

0

Нет необходимости открывать браузер. Просто вставьте элемент управления WebBrowser внутри своей формы и поместите его невидимым.

Добавить обработчик, переключение события:

webBrowser1.Navigated += new WebBrowserNavigatedEventHandler(webBrowser1_Navigated); 

И получить ответ от сервера:

Этот код выполняется один год назад, я не знаю, если они изменили API, но Он работал отлично.

void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e) 
{ 
      string Url = e.Url.AbsoluteUri.ToString(); 
      if (Url.StartsWith("https://www.facebook.com/connect/login_success.html")) 
      { 
       if (Url.Contains("#") && Url.Contains("access_token=")) 
       { 
       AccessToken = Url.Substring(Url.IndexOf("access_token=") + 13 , Url.Length - Url.IndexOf("access_token") -13); 
        if (AccessToken.Contains("&")) 
        { 
        AccessToken = AccessToken.Substring(0, AccessToken.LastIndexOf("&")); 
        }  
       } 
      } 
} 
+0

Да, это правильно, но как я могу ввести учетные данные, если браузер не отображается, могу ли я отправить учетные данные по URL-адресу в качестве параметра? –

+0

Вы должны сделать HTTP-сообщение на графике API facebook. Вам нужно будет отобразить новое окно или невидимый веб-браузер, потому что пользователю необходимо войти в свою учетную запись на facebook, чтобы вы могли получить токен доступа. Скройте его снова, как только вы это сделаете. –