![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2015
Сообщений: 12
|
Пытаюсь авторизироваться загруженным приложением на сервер vk.com, выдает ошибку
Цитата:
В корне localhost crossdomain.xml <?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="*" secure="false" /> </cross-domain-policy> Сам код получения сессии var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest("https://oauth.vk.com/access_token?client_id=здесь_данные_авторизации"); loader.load(request); loader.addEventListener(Event.COMPLETE, onComplete); loader.addEventListener(IOErrorEvent.IO_ERROR,ioErrHandler); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,secErrorHandler); loader.addEventListener(HTTPStatusEvent.HTTP_STATUS,statusHttpHandler); function statusHttpHandler(event:HTTPStatusEvent):void { tf.htmlText = "<p>" + event.status + "</p>"; } function ioErrHandler(event:IOErrorEvent):void { tf.htmlText = "<p>Error load json</p>"; } function secErrorHandler(event:SecurityErrorEvent):void { tf.htmlText = "<p>" + event.text + "</p>"; } function onComplete(event:Event):void { var loader:URLLoader = URLLoader(event.target); tf.htmlText = "<p>" + loader.data + "</p>"; } Security.allowDomain("*"); Security.allowInsecureDomain("*"); Security.loadPolicyFile("http://vk.com/crossdomain.xml"); Подскажите пожалуйста, в какую сторону курить *facepalm* Заранее благодарю. С ув. Дмитрий Добавлено через 4 минуты Почему-то не дает отредактировать сообщение. Добавлю, что флеш плеер обновил до самой последней версии, так как в результате длительного поиска натолкнулся на официальном адобовском сайте информацию об этом. Добавлено через 5 минут Еще добавлю, вот такая ошибку часто ловлю почти в любом приложении Цитата:
|
|
|||||
|
А почему у вас в файле политик указано secure = "false", при том что авторизация вк происходит по протоколу https (hypertext transfer protocol secure)?
Скорее всего проблема в этом и есть. Плюс в тестовый файл политик неплохо бы добавить еще to-ports="*" |
|
|||||
|
Регистрация: Mar 2015
Сообщений: 12
|
Да, у меня именно так с самого начало и было. Ввели в заблуждение некоторые ответы на stackoverflow
<?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="*" to-ports="*" /> </cross-domain-policy> Добавлено через 35 минут Выяснил, что для flash приложений oauth авторизация не требуется и запрос к API спокойно без ошибок начал работать. Только выдает json ответ {"error":{"error_code":5,"error_msg":"User authorization failed: invalid access_token (4).","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"users.get"},{"key":"user_id","value":"4835..."},{"key":"v","value":"5.29"},{"key":"access_token","value":"e65811a40bd6d...............................805e0"}]}}
|
|
|||||
|
Если это простая флешка, то лучше воспользуйтесь готовой контактовской библиотекой
С ней все работает без лишних заморочек https://vk.com/dev/Flash_SDK Цитата:
|
|
|||||
|
Регистрация: Mar 2015
Сообщений: 12
|
Спасибо Вам Кейси Райан, разобрался буквально за минут 15 и все работает идеально!
|
|
|||||
|
.
|
The URL policy file is located, by default, in the root directory of the target server, with the name crossdomain.xml (for example, at www.example.com/crossdomain.xml). Flash application developers can specify another location by calling the ActionScript loadPolicyFile() method. The URL policy file located in the root directory is referred to as the master policy file. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|