Игнорирование Flash Plaer'ом определенных данных. Помогите.
Игнорирование Flash Plaer'ом определенных данных. Помогите.
Собственно, идет обычный vk api запрос wall.get.
Запросы стандартного флеш посредника шлются URLLoader'ом.
Обратно приходит загаженная стены пользователя.
В Flash IDE все работает. Как только заливаю на сервер и запускаю браузером НЕ НАСТУПАЕТ Event.COMPLETE
Сначала думал глючит сервер контакта не возвращая ничего на определенный запрос.
Проверил Charles, ответ приходит. Но в флеше COMPLETE нет. Именно в браузере.
Если потянуть следующие 100 записей со стены то COMPLETE приходит.
Какие конкретно записи со стены приводят к такому узнать пока не удается.
Переводил запросы с URLLoader на URLStream думал может лимит 64К, размер входящих данных около 60Кб
Эффект тот же самый что и с URLLoader - на Flash IDE работает, в браузере нет.
Помогите плиз. Выслушаю даже любые предположения.
Запросы стандартного флеш посредника шлются URLLoader'ом.
Обратно приходит загаженная стены пользователя.
В Flash IDE все работает. Как только заливаю на сервер и запускаю браузером НЕ НАСТУПАЕТ Event.COMPLETE
Сначала думал глючит сервер контакта не возвращая ничего на определенный запрос.
Проверил Charles, ответ приходит. Но в флеше COMPLETE нет. Именно в браузере.
Если потянуть следующие 100 записей со стены то COMPLETE приходит.
Какие конкретно записи со стены приводят к такому узнать пока не удается.
Переводил запросы с URLLoader на URLStream думал может лимит 64К, размер входящих данных около 60Кб
Эффект тот же самый что и с URLLoader - на Flash IDE работает, в браузере нет.
Помогите плиз. Выслушаю даже любые предположения.
-
- Сообщения: 35
- Зарегистрирован: 01 сен 2011, 14:03
Re: Игнорирование Flash Plaer'ом определенных данных. Помогите.
Все что можно по моему уже делал.
Вешал все эвенты, ничего. Даже progress не срабатывает.
Вешал все эвенты, ничего. Даже progress не срабатывает.
-
- Сообщения: 35
- Зарегистрирован: 01 сен 2011, 14:03
Re: Игнорирование Flash Plaer'ом определенных данных. Помогите.
все экстрасенсы к сожалению уже не кодят на as, перешли на html5, так что либо кидай код, либо переходи на html5.
Re: Игнорирование Flash Plaer'ом определенных данных. Помогите.
Код:
Запрос
не пашет, не приходит никакого события, Charles показывает данные пришли.
работает
Код: Выделить всё
package vk.api { import flash.net.*; import flash.errors.*; import flash.events.*; import vk.api.serialization.json.*; public class DataProvider { private var _api_sid: String; private var _api_url: String = "http://api.vkontakte.ru/api.php"; private var _api_id: Number; private var _api_secret: String; private var _viewer_id: Number; private var _request_params: Array; private var _global_options: Object; public function DataProvider(api_url: String, api_id: Number, api_sid: String, api_secret: String, viewer_id: Number) { _api_secret = api_secret; _api_sid = api_sid; _api_url = api_url; _api_id = api_id; _viewer_id = viewer_id; } public function setup(options: Object): void { _global_options = options; } public function request(method: String, options: Object = null):void { var onComplete: Function, onError: Function; if (options == null) { options = new Object(); } options.onComplete = options.onComplete ? options.onComplete : (_global_options.onComplete ? _global_options.onComplete : null); options.onError = options.onError ? options.onError : (_global_options.onError ? _global_options.onError : null); _sendRequest(method, options); } /******************** * Private methods ********************/ private function _sendRequest(method:String, options:Object):void { var self:Object = this; var request_params: Object = {method: method}; request_params.api_id = _api_id; request_params.format = "JSON"; request_params.v = "3.0"; if (options.params) { for (var i: String in options.params) { request_params[i] = options.params[i]; } } var variables:URLVariables = new URLVariables(); for (var j: String in request_params) { variables[j] = request_params[j]; } variables['sig'] = _generate_signature(request_params); variables['sid'] = _api_sid; var request:URLRequest = new URLRequest(); request.url = _api_url; request.method = URLRequestMethod.POST; request.data = variables; var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.TEXT; if (options.onError) { loader.addEventListener(IOErrorEvent.IO_ERROR, function():void { options.onError("Connection error occured"); }); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function():void { options.onError("Security error occured"); }); } loader.addEventListener(Event.COMPLETE, function(e:Event):void{ var loader:URLLoader = URLLoader(e.target); trace(loader.data); var data: Object = JSON.decode(loader.data); if (data.error) { options.onError(data.error); } else if (options.onComplete && data.response) { options.onComplete(data.response); } }); try { loader.load(request); } catch (error:Error) { options.onError(error); } } /** * Generates signature * */ private function _generate_signature(request_params: Object): String { var signature: String = ""; var sorted_array: Array = new Array(); for (var key: String in request_params) { sorted_array.push(key + "=" + request_params[key]); } sorted_array.sort(); // Note: make sure that the signature parameter is not already included in // request_params array. for (key in sorted_array) { signature += sorted_array[key]; } if (_viewer_id > 0) signature = _viewer_id.toString() + signature; signature += _api_secret; return MD5.encrypt(signature); } }}
Код: Выделить всё
VK.api('wall.get', { owner_id: 12710756, offset: 0, count: 100}, onWallLoaded, onApiRequestFail);
Код: Выделить всё
VK.api('wall.get', { owner_id: 12710756, offset: 0, count: 80}, onWallLoaded, onApiRequestFail);
Re: Игнорирование Flash Plaer'ом определенных данных. Помогите.
count: 90 не работает
-
- Сообщения: 35
- Зарегистрирован: 01 сен 2011, 14:03
Re: Игнорирование Flash Plaer'ом определенных данных. Помогите.
в студию методы vk.api и onWallLoaded и можно onApiRequestFail
-
- Сообщения: 35
- Зарегистрирован: 01 сен 2011, 14:03
Re: Игнорирование Flash Plaer'ом определенных данных. Помогите.
и объясни смысл двойных тернарных операций
Код: Выделить всё
options.onComplete = options.onComplete ? options.onComplete : (_global_options.onComplete ? _global_options.onComplete : null); options.onError = options.onError ? options.onError : (_global_options.onError ? _global_options.onError : null);
-
- Сообщения: 35
- Зарегистрирован: 01 сен 2011, 14:03
Re: Игнорирование Flash Plaer'ом определенных данных. Помогите.
если ты не понимаешь что делает твой код то иди читай книги, а не используй чужие пакеты.
Re: Игнорирование Flash Plaer'ом определенных данных. Помогите.
Это Рогозов накатал.