Вот в добавок к предыдущему посту. Сделал эксперемент, отправил одинаковые запросы 'wall.get' со стены и при обычном запуске приложения, просмотривая что отправляется и получает приложения из Контакта. Код абсолютно одинаковый но формируются соврешенно разные запросы. Например API_ID при открытии со стены вобще не передается в запросе...
Вобщем вот:
Код: Выделить всё
public function Main():void { this.addEventListener( Event.ADDED_TO_STAGE, onAddedToStage );} public function onAddedToStage(e: Event):void { this.removeEventListener( Event.ADDED_TO_STAGE, onAddedToStage ); Security.allowDomain("*"); stage.dispatchEvent(new Event(Event.DEACTIVATE)); stage.dispatchEvent(new Event(Event.ACTIVATE)); //эта функция снимает все минусы с контейнера wrapper=Object(parent.parent); viewer_id=wrapper.application.parameters.viewer_id; api_id=wrapper.application.parameters.api_id; api_secret=wrapper.application.parameters.secret; auth_key=wrapper.application.parameters.auth_key; if(wrapper.application.parameters.referrer=='wall_view_inline'||wrapper.application.parameters.referrer=='wall_view') {//если приложение открыто со стены //получаем данные по записти на стене по ее идентификатору var poster_id = viewer_id; //для проверки так как и постил на стену и просматриваю только я var id_for_post:String = String(poster_id) + "_jhgj5g34hg1"; wrapper.external.api('wall.getById', {posts:id_for_post}, onGetById, onError); //в этом случае уходит вот такой запрос: //format=json&method=wall.getById&posts=138988368_jhgj5g34hg1&rnd=3737&sig=fe0f960004669eaf6eaf02710f239525&v=3.0 //и получаю вот такой ответ: //{"error":{"error_code":101,"error_msg":"Invalid application API ID","request_params":[{"key":"format","value":"json"},{"key":"method","value":"wall.getById"},{"key":"posts","value":"138988368_jhgj5g34hg1"}, {"key":"rnd","value":"3737"},{"key":"sig","value":"fe0f960004669eaf6eaf02710f239525"},{"key":"v","value":"3.0"}]}} }else {//если открыли из раздела приложений //получаем данные по записти на стене по ее идентификатору var poster_id = viewer_id; //для проверки так как и постил на стену и просматриваю только я var id_for_post:String = String(poster_id) + "_jhgj5g34hg1"; wrapper.external.api('wall.getById', {posts:id_for_post}, onGetById, onError); //в этом случае уходит вот такой запрос: //api_id=2387024&format=json&method=wall.getById&posts=138988368_jhgj5g34hg1&rnd=189&sid=df025ccb0c12e0bb50ea2884b01d28597cedce5389e3a193a35688873e1093&sig=5aa6cb3c15699624f8acfb6be0b1fe24&v=3.0 //и получаю вот такой ответ: //{"response":{}} }} private function onGetById(data: Object):void{ //если приложение открывается из папки приложений то я попадаю сюда но данных нет msg_txt.text = data[0].id;}private function onError(data: Object):void{ //если открываю со стены то попадаю сюда msg_txt.text = "Error!";}
Почему так происходит, а главное что сделать чтобы при открытии со стены отправлялся такойже запрос как и при обычном открытии приложения?