Страница 8 из 16

Re: Публикации картинок с сервера на стену (wall.savePost)

Добавлено: 16 июн 2010, 22:18
совесть
http://flapps.ru/forum/topic505.html


может поможет

Re: Публикации картинок с сервера на стену (wall.savePost)

Добавлено: 26 июн 2010, 21:20
Ralph_DiMarko
Подскажите пожалуйста кто нить пример схему если картинка в приложении.

Re: Публикации картинок с сервера на стену (wall.savePost)

Добавлено: 23 июл 2010, 19:18
ТимурНН
Александр писал(а):Salty
Но логичнее будет сделать функцию, которой будут передаваться параметры post_id, photo_id, post_message.

Код: Выделить всё

send1.addEventListener(MouseEvent.CLICK, send1Click);send2.addEventListener(MouseEvent.CLICK, send2Click);        function send1Click(e: MouseEvent):void {            var to_id=int(to_id_tf.text);            var post_id='post1';            var photo_id='6492_135055734';//  идентификатор фотографии, загруженной в фотоальбоме            var post_message='Сообщение';            query=api.savePost(to_id,post_id,photo_id,post_message);            url_request=new URLRequest(query);            url_loader=new URLLoader  ;            url_loader.addEventListener(Event.COMPLETE,photoPosted);            url_loader.load(url_request);        }         function send2Click(e: MouseEvent):void {            var to_id=int(to_id_tf.text);            var post_id='post2';            var photo_id='6492_135055734';//  здесь пиши другой photo_id            var post_message='Сообщение';            query=api.savePost(to_id,post_id,photo_id,post_message);            url_request=new URLRequest(query);            url_loader=new URLLoader  ;            url_loader.addEventListener(Event.COMPLETE,photoPosted);            url_loader.load(url_request);        }         function photoPosted(event:Event):void {            var response:XML=new XML(url_loader.data);            // сохраняем запись на стене пользователя            wrapper.external.saveWallPost(response.post_hash);            result_tf.text='Готово';        }

Сделал как описано здесь получил ошибку: TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at MethodInfo-76()


Подскажите пожалуйста как решить данную проблему

P.S. данный кусок кода вставил после строк:

Код: Выделить всё

            // если приложение открыто со стены            if (wrapper.application.parameters.referrer=='wall_view_inline'||wrapper.application.parameters.referrer=='wall_view') {                result_tf.text='Здесь вы можете считать post_id и загрузить большое изображение.\n' +                'post_id=' + wrapper.application.parameters.post_id; // post_id передаётся в запросе ниже            }
это верно?

Извиняюсь за наверное глупые вопросы, но я новичок и потому некоторые ошибки повергают меня шок

Re: Публикации картинок с сервера на стену (wall.savePost)

Добавлено: 23 июл 2010, 20:16
egor
Спасибо за хороший урок! Модернизировал свое приложение! Сам пока новичок я, но потихоньку озарение ко мне приходит!
Посмотрите, если интересно: http://vkontakte.ru/app1886032

Re: Публикации картинок с сервера на стену (wall.savePost)

Добавлено: 26 июл 2010, 14:34
KIka_kok
Помогите сделать 2 картинки делаю в main.as такой код

Код: Выделить всё

 package {    import flash.net.*;    import flash.display.*;    import flash.events.*;    import flash.text.*;    import vk.VkApiNode;     public class Main extends Sprite {        private var api_id:Number=1902406;// ID приложения        private var api_secret:String="095FdVmnV3";// секретный ключ        private var api:VkApiNode;        private var viewer_id;        private var url_loader:URLLoader;        private var url_request:URLRequest;        private var query:String;        private var wrapper:Object;         public function Main():void {            this.addEventListener( Event.ADDED_TO_STAGE, onAddedToStage );        }         public function onAddedToStage(e: Event):void {            wrapper=Object(parent.parent);             // если приложение открыто со стены            if (wrapper.application.parameters.referrer=='wall_view_inline'||wrapper.application.parameters.referrer=='wall_view') {                result_tf.text='Здесь вы можете считать post_id и загрузить большое изображение.\n' +                 'post_id=' + wrapper.application.parameters.post_id; // post_id передаётся в запросе ниже            }             send_btn.addEventListener(MouseEvent.CLICK, send_btnClick);            viewer_id=wrapper.application.parameters.viewer_id;            to_id_tf.text=viewer_id;        }         public function send_btnClick(e: MouseEvent):void {            // создаем и выполняем запрос            api=new VkApiNode(viewer_id,api_id,api_secret);            // отправляем запрос ('стена пользователяь которому будет отправлено фото (id)', 'photo_id', 'Сообщение')            var to_id=int(to_id_tf.text); // id пользователя, на стену которого будет отправляться фото            var post_id='post1';// id записи. Этот параметр будет передаваться в приложение через flashVars при просмотре или создании записи на стене пользователя.            var photo_id='36375408_173935757';//  идентификатор фотографии, загруженной в фотоальбоме            var post_message='Сообщение';            query=api.savePost(to_id,post_id,photo_id,post_message);            url_request=new URLRequest(query);            url_loader=new URLLoader  ;            url_loader.addEventListener(Event.COMPLETE,photoPosted);            url_loader.load(url_request);        }         public function photoPosted(event:Event):void {            var response:XML=new XML(url_loader.data);            // сохраняем запись на стене пользователя            wrapper.external.saveWallPost(response.post_hash);            result_tf.text='Готово';        }    }}/*      */package {    import flash.net.*;    import flash.display.*;    import flash.events.*;    import flash.text.*;    import vk.VkApiNode;     public class Main extends Sprite {        private var api_id:Number=1902406;// ID приложения        private var api_secret:String="095FdVmnV3";// секретный ключ        private var api:VkApiNode;        private var viewer_id;        private var url_loader:URLLoader;        private var url_request:URLRequest;        private var query:String;        private var wrapper:Object;         public function Main():void {            this.addEventListener( Event.ADDED_TO_STAGE, onAddedToStage );        }         public function onAddedToStage(e: Event):void {            wrapper=Object(parent.parent);             // если приложение открыто со стены            if (wrapper.application.parameters.referrer=='wall_view_inline'||wrapper.application.parameters.referrer=='wall_view') {                result_tl.text='Здесь вы можете считать post_id и загрузить большое изображение.\n' +                 'post_id=' + wrapper.application.parameters.post_id; // post_id передаётся в запросе ниже            }             lend_btn.addEventListener(MouseEvent.CLICK, lend_btnClick);            viewer_id=wrapper.application.parameters.viewer_id;            to_id_tl.text=viewer_id;        }         public function lend_btnClick(e: MouseEvent):void {            // создаем и выполняем запрос            api=new VkApiNode(viewer_id,api_id,api_secret);            // отправляем запрос ('стена пользователяь которому будет отправлено фото (id)', 'photo_id', 'Сообщение')            var to_id=int(to_id_tl.text); // id пользователя, на стену которого будет отправляться фото            var post_id='post1';// id записи. Этот параметр будет передаваться в приложение через flashVars при просмотре или создании записи на стене пользователя.            var photo_id='36375408_174069942';//  идентификатор фотографии, загруженной в фотоальбоме            var post_message='Сообщение';            query=api.savePost(to_id,post_id,photo_id,post_message);            url_request=new URLRequest(query);            url_loader=new URLLoader  ;            url_loader.addEventListener(Event.COMPLETE,photoPosted);            url_loader.load(url_request);        }         public function photoPosted(event:Event):void {            var response:XML=new XML(url_loader.data);            // сохраняем запись на стене пользователя            wrapper.external.saveWallPost(response.post_hash);            result_tl.text='Готово';        }    }}
ВОт просто скопировал 2 кода и заменил инстансы ,на сцене скопировал старое и пменял инстансы под main.as но при загрузке в контакт только 1 отправляется а второй нет в чем проблема?

Re: Публикации картинок с сервера на стену (wall.savePost)

Добавлено: 26 июл 2010, 14:43
Евгений

Re: Публикации картинок с сервера на стену (wall.savePost)

Добавлено: 26 июл 2010, 15:01
Mustafin.M
ТимурНН писал(а): Сделал как описано здесь получил ошибку: TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at MethodInfo-76()


Подскажите пожалуйста как решить данную проблему

P.S. данный кусок кода вставил после строк:

Код: Выделить всё

            // если приложение открыто со стены            if (wrapper.application.parameters.referrer=='wall_view_inline'||wrapper.application.parameters.referrer=='wall_view') {                result_tf.text='Здесь вы можете считать post_id и загрузить большое изображение.\n' +                'post_id=' + wrapper.application.parameters.post_id; // post_id передаётся в запросе ниже            }
это верно?

Извиняюсь за наверное глупые вопросы, но я новичок и потому некоторые ошибки повергают меня шок
Узнай на какую строчку компилятор ругается.
Пишешь в Flash Cs? Тогда там должен сработать дебаггер.
Либо поставь debug плеер.

Re: Публикации картинок с сервера на стену (wall.savePost)

Добавлено: 27 июл 2010, 18:48
ilius
Александр писал(а):egor_pe4kin
Если об этом:

Код: Выделить всё

var post_id:String='post1';
То этот post_id создаётся приложением. Его нужно указывать самому.
Так и не понятно: создается приложением или нужно указывать самому? Пробую указать сам, пробую не указывать. При любом раскладе у меня во flashvars при открытии поста со стены возвращается пустой post_id. Как так?

Фото беру не с альбома а по такой схеме:
Загрузка изображения на стену пользователя
Загрузка изображения на стену пользователя ВКонтакте осуществляется приложением в 4 этапа:

1. С помощью метода wall.getPhotoUploadServer приложение узнает http-адрес для загрузки фотографий.

2. Приложение формирует POST-запрос на полученный адрес.
Запрос должен содержать поле photo, которое содержит файл с изображением (JPG, PNG, BMP или GIF).

В ответ приложение получает следующие данные в формате JSON:
{"server": '1', "photos": '1', "hash": '12345abcde'}

3. С помощью метода wall.savePost приложение передает серверу полученные данные (server, photo и hash) и получает данные о загруженном изображении, в том числе post_hash.

4. С помощью вызова функции saveWallPost Flash-контейнера с параметром post_hash, полученном в п.3, приложение может сохранить изображение с дополнительным текстом на стене пользователя.

Re: Публикации картинок с сервера на стену (wall.savePost)

Добавлено: 01 авг 2010, 10:44
Superman
А как считать post_id?

Re: Публикации картинок с сервера на стену (wall.savePost)

Добавлено: 01 авг 2010, 14:11
Александр
ilius
Нужно указывать самому. Указывать в правильном виде.

post_id - id записи, содержащий символы от a до z и от 0 до 9. Этот параметр будет передаваться в приложение через flashVars при просмотре или создании записи на стене пользователя.

Если фото публикуется, то проверяй правильный ли ты передаешь параметр post_id (никаких "-" и "_" быть не должно) и проверь правильно ли ты его считываешь.


Superman
В коде из урока он считывается.

Код: Выделить всё

wrapper.application.parameters.post_id;