Авторизация dekstop приложения на AS3

Создание Desktop-приложений, виджеты ВКонтакте для сайтов и публичных страниц, OAuth 2.0, Open API, Standalone
Ответить
djasup
Сообщения: 11
Зарегистрирован: 14 июл 2012, 14:27

Авторизация dekstop приложения на AS3

Сообщение djasup »

Подскажите как сделать авторизацию dekstop приложения на AS3 ? На офф. документацию смотрел нихрена не понял, как использовать это во desktop приложении с API VK на AS3, киньте примеры кода, дайте советы, помогите чем сможите :)
djasup
Сообщения: 11
Зарегистрирован: 14 июл 2012, 14:27

Re: Авторизация dekstop приложения на AS3

Сообщение djasup »

Код: Выделить всё

private var request:URLRequest = new URLRequest('http://api.vk.com/oauth/authorize?' +                'client_id=3052297&' +                'redirect_uri=http://api.vk.com/blank.html&' +                'scope=notify,friends,photos,audio,video,docs,notes,pages,status,offers,questions,wall,groups,messages,notifications,stats,ads,offline,nohttps&' +                'display=page&' +                'response_type=token');           protected function windowedapplication1_addedToStageHandler(event:Event):void            {                                html.htmlLoader.load(request);                 html.htmlLoader.addEventListener(Event.COMPLETE,function htmLoaderComplete (e:Event):void                 {                    html.htmlLoader.removeEventListener(Event.COMPLETE,htmLoaderComplete);                    stage.stageHeight = html.height = html.contentHeight;                    stage.stageWidth = html.width = html.contentWidth;                 });            }
После нажатия Разрешить доступ я получаю только надпись Login success а что делать дальше ?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Авторизация dekstop приложения на AS3

Сообщение Александр »

Для доступа к API ВКонтакте из любого Standalone-приложения предусмотрен механизм клиентской авторизации на базе протокола OAuth 2.0. В качестве клиента может выступать любое Desktop/мобильное приложение, имеющее доступ к управлению Web-браузером (например, компонент UIWebView при создании приложения для iOS).
http://vk.com/developers.php?id=-1_37230422&s=1
Смотри в сторону AIR приложений. Компонент mx.controls.html Конкретно ничего не посоветую.
djasup
Сообщения: 11
Зарегистрирован: 14 июл 2012, 14:27

Re: Авторизация dekstop приложения на AS3

Сообщение djasup »

так я его и использую

Код: Выделить всё

<mx:HTML id="html" width="663" height="605"/>
у меня получается ввести логин и пароль, потом дать доступ приложению, но дальше я незнаю, что делать ! После разрешения доступа пустая форма с надписью "Login success" что делать дальше ?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Авторизация dekstop приложения на AS3

Сообщение Александр »

3. Получение access_token
После успешной авторизации приложения браузер пользователя будет перенаправлен по адресу REDIRECT_URI, указанному при открытии диалога авторизации. При этом ключ доступа к API access_token и другие параметры будут передана в URL-фрагменте ссылки:

http://REDIRECT_URI#access_token= 533bacf01e11f55b536a565b57531ad114461ae8736d6506a3&expires_in=86400&user_id=8492
Вытаскивай access_token.
djasup
Сообщения: 11
Зарегистрирован: 14 июл 2012, 14:27

Re: Авторизация dekstop приложения на AS3

Сообщение djasup »

вытащил делаю так

Код: Выделить всё

flashVars['acces_token'] = parameters['http://api.vk.com/blank.html#access_token'];   //тут я записываю токен в flashvars под 'acces_token'                  VK = new APIConnection(flashVars);                VK.api("friends.get",{fields:'first_name,last_name,photo_big'}, friendsLoaded, onError); 
и меня кидает на метод onError, что ненправильно?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Авторизация dekstop приложения на AS3

Сообщение Александр »

djasup
Что возвращает сервер api на вызов метода friends.get ? Смотри с помощью Charles.
Arman11
Сообщения: 2
Зарегистрирован: 23 авг 2012, 09:35

Re: Авторизация dekstop приложения на AS3

Сообщение Arman11 »

djasup, очень нужна помощь. Запускаю приложение на стороннем сайте, отправляю запрос к http://api.vk.com/oauth/authorize, в ответ Login success, но Не получается вытащить acces_token, в loaderInfo.parameters пусто. Не могу понять что не так, где я накосяил, как вообще поймать в приложении get который приходит от вконтакте в ответ.

Расскажите пожалуйста способ вытаскивания acces_token подробнее.

очень нужна помощь! помогите.

вот кусочек кода который я использую:

Код: Выделить всё

flashVars['api_id'] = ххххххх;var sendHeader:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");var url:String = "http://api.vk.com/oauth/authorize?client_id=" + flashVars['api_id'] + "&redirect_uri=http://api.vk.com/blank.html&scope=photos,wall&display=popup&response_type=token"; var request:URLRequest = new URLRequest(url);request.requestHeaders.push(sendHeader);request.method = URLRequestMethod.GET;requestor = new URLLoader();requestor.addEventListener(Event.COMPLETE, apiVKAccessToken);try {    requestor.load(request);}catch (error:Error) {    trace("error# " + error.message);} function apiVKAccessToken(e:Event):void {    requestor.removeEventListener(Event.COMPLETE, apiVKAccessToken);    flashVars['acces_token'] = stage.loaderInfo.parameters['http://api.vk.com/blank.html#access_token'];} 
заранее крайне благодарен!
broken
Сообщения: 4
Зарегистрирован: 11 янв 2013, 16:44

Re: Авторизация dekstop приложения на AS3

Сообщение broken »

Не смотрел в сторону OAuth 2.0 Library for ActionScript?:
http://blogs.adobe.com/charles/2012/05/ ... cript.html
Arman11
Сообщения: 2
Зарегистрирован: 23 авг 2012, 09:35

Re: Авторизация dekstop приложения на AS3

Сообщение Arman11 »

broken писал(а):Не смотрел в сторону OAuth 2.0 Library for ActionScript?:
http://blogs.adobe.com/charles/2012/05/ ... cript.html
Спасибо огромное. Но эта библиотека для AIR. На AIR проблем никаких нет. меня интересует Flash. Отправляю запрос к OAuth2.0 через URLLoader, в ответ приходит токет в адресной строке, вот как его оттуда выдернуть не знаю.
Ответить