Wall.post - как делать?

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
BartSM
Сообщения: 9
Зарегистрирован: 18 ноя 2012, 01:35

Wall.post - как делать?

Сообщение BartSM »

В общем то сделал простой скрипт, можно отправлять сообщения себе на стену из приложения, но вот фото приложить не могу понять как, нужно мне сначала url получить, потом через POST на него фото загрузить из JS
Но что-то даже с этим не могу разобраться... Почему-то получаю ошибку, что "TypeError: data.response is undefined" хотя так и положено, а r.upload_url - говорит не определен... Где же url этот??

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

        <script type="text/javascript">                VK.api("photos.getWallUploadServer", {}, function (r) {                    alert(r.response.upload_url);                                    });        </script>
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Wall.post - как делать?

Сообщение Alazaur »

BartSM
Сообщения: 9
Зарегистрирован: 18 ноя 2012, 01:35

Re: Wall.post - как делать?

Сообщение BartSM »

Блин что то странно опять то же самое

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

                VK.api("photos.getWallUploadServer", {uid:1111111}, function(data){                    $.post('vk_upload.php', {upload_url:data.response.upload_url}, function(input){                        VK.api("photos.saveWallPhoto", {server:input.server, photo:input.photo, hash:input.hash, uid:1111111}, function(data){                            VK.api("wall.post", {owner_id:data.response[0].owner_id, message:"Сообщение на стену", attachments:data.response[0].id});                        });                    },'json')                });
В итоге фиг там т.е. опять вижу TypeError: data.response is undefined :roll:
Но все как в примере id узера я только подставил свой просто пока не знаю как его получать, но все равно ведь работать должно :(
BartSM
Сообщения: 9
Зарегистрирован: 18 ноя 2012, 01:35

Re: Wall.post - как делать?

Сообщение BartSM »

Да что ж такое понять не могу, почему такая ошибка? Все ж точно как на примере и подключил я API и JQ, бррр :evil:
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Wall.post - как делать?

Сообщение Alazaur »

Весь свой код напишите.
BartSM
Сообщения: 9
Зарегистрирован: 18 ноя 2012, 01:35

Re: Wall.post - как делать?

Сообщение BartSM »

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

    <script type="text/javascript" src="/_include/_jquery/jquery-1.7.1.min.js"></script>    <script src="http://vk.com/js/api/xd_connection.js?2" type="text/javascript"></script>    <script src="http://vkontakte.ru/js/api/openapi.js" type="text/javascript"></script>    <script type="text/javascript">    function on_wall(){             VK.init(function(){            VK.api('isAppUser',{},function(data) {                r = data.response;                if(r == 0){alert('Вы не установили приложение');} else {                                VK.api("photos.getWallUploadServer", {uid:1111111}, function(data){                        $.post('vk_upload.php', {upload_url:data.response.upload_url}, function(input){                            VK.api("photos.saveWallPhoto", {server:input.server, photo:input.photo, hash:input.hash, uid:1111111}, function(data){                                VK.api("wall.post", {owner_id:data.response[0].owner_id, message:"Сообщение на стену", attachments:data.response[0].id});                            });                        },'json')                    });                }            });        });    }    </script>
и ошибка:
TypeError: data.response is undefined
[Прерывать на этой ошибке]

$.post('vk_upload.php', {upload_url:data.response.upload_url}, function(input){
Вот весь код, до этого написал просто постинг текста, чего оказалось не хватает, подскажите плз что я не так делаю, работает ведь у всех...
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Wall.post - как делать?

Сообщение Alazaur »

А внутрь VK.init засовывать пробовали?
[UPD} Вижу уже обновили свой пост. Хм, на первый взгляд должно вроде работать

Попробовать если только data.response.upload_url заменить на data.response[0].upload_url хотя не должно быть из-за этого. У меня сейчас нет приложений в ВК чтоб затестить сорри. А на первый взгляд у вас все правильно.
BartSM
Сообщения: 9
Зарегистрирован: 18 ноя 2012, 01:35

Re: Wall.post - как делать?

Сообщение BartSM »

Не не помогает, он говорит что data.response вообще не существует, попробовал data.upload_url - в alert выдает "undefined"....
Брр, чего даже не знаю делать то это мое первое приложение, так что я тут с трудом могу догадаться чего может быть не так( Но url получить не удается в общем-то и дальше дело не пойдет :(
BartSM
Сообщения: 9
Зарегистрирован: 18 ноя 2012, 01:35

Re: Wall.post - как делать?

Сообщение BartSM »

Хотя data - выдает "[object Object]"
Не так силен в JS, можно ли как-то просмотреть объект т.е. его содержимое, может все таки он как-то мне url возвращает, может поменялось что или... :roll:
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Wall.post - как делать?

Сообщение Alazaur »

Вот так можно вывести:

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

var str = '';for(key in data){    str += key+" : "+data[key]+"\n";}alert(str);
Ответить