Авторизация dekstop приложения на AS3
Авторизация dekstop приложения на AS3
Подскажите как сделать авторизацию dekstop приложения на AS3 ? На офф. документацию смотрел нихрена не понял, как использовать это во desktop приложении с API VK на AS3, киньте примеры кода, дайте советы, помогите чем сможите
Re: Авторизация dekstop приложения на AS3
Код: Выделить всё
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; }); }
Re: Авторизация dekstop приложения на AS3
http://vk.com/developers.php?id=-1_37230422&s=1Для доступа к API ВКонтакте из любого Standalone-приложения предусмотрен механизм клиентской авторизации на базе протокола OAuth 2.0. В качестве клиента может выступать любое Desktop/мобильное приложение, имеющее доступ к управлению Web-браузером (например, компонент UIWebView при создании приложения для iOS).
Смотри в сторону AIR приложений. Компонент mx.controls.html Конкретно ничего не посоветую.
Re: Авторизация dekstop приложения на AS3
так я его и использую
у меня получается ввести логин и пароль, потом дать доступ приложению, но дальше я незнаю, что делать ! После разрешения доступа пустая форма с надписью "Login success" что делать дальше ?
Код: Выделить всё
<mx:HTML id="html" width="663" height="605"/>
Re: Авторизация dekstop приложения на AS3
Вытаскивай access_token.3. Получение access_token
После успешной авторизации приложения браузер пользователя будет перенаправлен по адресу REDIRECT_URI, указанному при открытии диалога авторизации. При этом ключ доступа к API access_token и другие параметры будут передана в URL-фрагменте ссылки:
http://REDIRECT_URI#access_token= 533bacf01e11f55b536a565b57531ad114461ae8736d6506a3&expires_in=86400&user_id=8492
Re: Авторизация dekstop приложения на AS3
вытащил делаю так
и меня кидает на метод onError, что ненправильно?
Код: Выделить всё
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);
Re: Авторизация dekstop приложения на AS3
djasup
Что возвращает сервер api на вызов метода friends.get ? Смотри с помощью Charles.
Что возвращает сервер api на вызов метода friends.get ? Смотри с помощью Charles.
Re: Авторизация dekstop приложения на AS3
djasup, очень нужна помощь. Запускаю приложение на стороннем сайте, отправляю запрос к http://api.vk.com/oauth/authorize, в ответ Login success, но Не получается вытащить acces_token, в loaderInfo.parameters пусто. Не могу понять что не так, где я накосяил, как вообще поймать в приложении get который приходит от вконтакте в ответ.
Расскажите пожалуйста способ вытаскивания acces_token подробнее.
очень нужна помощь! помогите.
вот кусочек кода который я использую:
заранее крайне благодарен!
Расскажите пожалуйста способ вытаскивания 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'];}
Re: Авторизация dekstop приложения на AS3
Не смотрел в сторону OAuth 2.0 Library for ActionScript?:
http://blogs.adobe.com/charles/2012/05/ ... cript.html
http://blogs.adobe.com/charles/2012/05/ ... cript.html
Re: Авторизация dekstop приложения на AS3
Спасибо огромное. Но эта библиотека для AIR. На AIR проблем никаких нет. меня интересует Flash. Отправляю запрос к OAuth2.0 через URLLoader, в ответ приходит токет в адресной строке, вот как его оттуда выдернуть не знаю.broken писал(а):Не смотрел в сторону OAuth 2.0 Library for ActionScript?:
http://blogs.adobe.com/charles/2012/05/ ... cript.html