Авторизация через ВКонтакте - C#
Формулировка задачи:
Здравствуйте. Бродил я по интернету, искал, пересмотрел кучу видео, но полезной информации 0. Проблема в следующем : у меня есть десктопное приложение, и я хочу для него сделать авторизацию через вк. Приложение создано, оно есть в вк, ID приложения есть. Строку, по которой нужно перенаправлять пользователя для данной авторизации я тоже нашел. Я делал так, создавал объект webBrowser (новая форма для этого всплывает), оно проходит авторизацию, то есть выбивает мне окошко ввода логин пароля, потом разрешение доступа к информации вконтакте, затем выводит следующее : "Пожалуйста, не копируйте данные из адресной строки для сторонних сайтов. Таким образом Вы можете потерять доступ к Вашему аккаунту." А дальше что делать, я понять не могу. Я пытался извлечь из браузера url после этого всего (ту, как я думал, заветную адресную строку), но оно имеет значение null. Как мне получить access token? Может быть кто-то писал приложения для ВК? МНе всего нужно получить ID, Имя пользователя, пол и т.п. К стенам всяким мне доступ не нужен. Буду признателен за подсказки или полезные ссылочки.
Но как извлечь данные? Я вероятно делаю что-то не так
Так, как оказалось, все данные появились в адресной строке стандартного браузера Теперь, как извлечь URL из этого браузера? Ну а дальше дело не хитрое, пропарсить и поделом)
Нашёл как открыть стандартный браузер, и сделать всё там
Process.Start("https://oauth.vk.com/authorize?client_id=5527856&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends&response_type=token&v=5.52");
Так-с, нашёл, люди пишут что нужно юзать UI Automation, но как его юзать - не пишут, может кто-то подскажет? Вопрос всё ещё актуален
Up.
Решил проблему, всем спасибо
Решение задачи: «Авторизация через ВКонтакте»
textual
Листинг программы
public partial class VKOAuth : Form { string access; public VKOAuth() { InitializeComponent(); } MainView Mview; public VKOAuth(MainView view) { InitializeComponent(); Mview = view; } private void AuthLoad(object sender, EventArgs e) { browser.Navigate("https://oauth.vk.com/authorize?client_id=*******&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends&response_type=token&v=5.52"); //Вместо звёздочек вставляем Ид своего приложения } private void WBNavigated(object sender, WebBrowserNavigatedEventArgs e) { access = browser.Url.ToString(); if (access.Contains("access_token")) { Mview.token = access; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д