Пытаюсь при открытии приложения со стены загрузить в него полноразмерную картинку и текст сообщения.
Исходя из документации http://vkontakte.ru/developers.php?o=-1&p=wall.getById
используя ‘wall.getById’ можно получить URL большого изображения картинки отправленой на стену и текст сообщения.
Делаю так:
wrapper=Object(parent.parent);if(wrapper.application.parameters.referrer=='wall_view_inline'||wrapper.application.parameters.referrer=='wall_view'){ var post_id = wrapper.application.parameters.post_id;//id сохраненной на стене записи переданное мной при отправке картинки на стену var poster_id = wrapper.application.parameters.poster_id;// id пользователя, разместившего запись на стене var id_for_post:String = String(poster_id) + "_" + String(post_id); wrapper.external.api('wall.getById', {posts:id_for_post}, onGetById, onError); } private function onGetById(data: Object):void{ var url:String = data[0].photo.src_big; //получаю URL фотки message_text.text = data[0].text; //получаю сообщение сообщения //загружаем фотографию var photoRequest:URLRequest=new URLRequest(url); var photo:Loader = new Loader(); photo.load(photoRequest); photo.x=1; photo.y=1; addChild(photo); }
Но вместо сообщения получаю Undefined а URL картинки просто пустой.
Подскажите пожалуйста что я делаю неправильно.
Заранее благодарен.
Александр в приведенном вами посте обьясняется что такое post_id. Да, это переменная которую я отправляю при посте на стену и потом получаю ее же. Как один из методов получения URL картинки и сообщения можно расматривать сохранение их в базе данных на стороннем сервере, либо URL можно шифровать темже Hex кодом... Но вопрос состоит в другом. В API контакта существует судя по их описанию специальный метод ‘wall.getById’ и на сколько я понимаю он позволяет получить желаемые данные так как они хранятся в параметрах самого поста на сервере Контакта. Об этом написано тут: http://vkontakte.ru/developers.php?o=-1&p=wall.getById
Поправте меня если я ошибаюсь в выше изложенном.
С 'wall.get', перехода по события в ф-ю onGetById похоже что вобеще не происходит, так как строка message_text.text = "!!!!!!!"; не исполняется. Ниже привожу код. Пробовал и закоментированный варианты, с тем же результатом. Если с 'wall.getById’ хотябы происходило событие onGetById то сейчас вобще мертво. Хотя любые другие методы которые не относятся к открытию со стены работают без проблем.
Теряюсь в догадках и прошу помощи.
Да запрос отправляется. Также в Charles получил ответ:
{"error":{"error_code":101,"error_msg":"Invalid application API ID","request_params":[{"key":"format","value":"json"},{"key":"method","value":"wall.get"},{"key":"owner_id","value":....и.т.д.
только я не понимаю что значит неверный API ID. библиотеку для связи с их API я использую взятую пару дней назад с контакта. и все остольные методы работают. Где и как он передается?
Юрий
значит что id приложения, используемый в запросе - не верный.
Ты одновременно используешь контейнер и библиотеку APIConnection? Какой смысл?
wrapper.external.api не хватает?
Посмотри урок http://flapps.ru/forum/topic3180.html - там показано как использовать и wrapper.external.api, и wrapper.external.callMethod, и wrapper.addEventListener...