vkontakte api и метод photos.saveWallPhoto

1,060 views
Skip to first unread message

stickz

unread,
Jun 16, 2013, 8:54:20 AM6/16/13
to ror...@googlegroups.com
Использую gem vkontakte_api  https://github.com/7even/vkontakte_api/

Пытаюсь загрузить фото на стену группы

us = app.photos.get_wall_upload_server(gid: 53285720)
up = VkontakteApi.upload(url: us.upload_url, file1: ['quetzal.jpg', 'image/jpeg'])
save = app.photos.save_wall_photo(up)

На save_wall_photo ловлю ошибку 

VKontakte returned an error 121: 'Invalid hash' after calling method 'photos.saveWallPhoto' with parameters {"server"=>"323530", "photo"=>"[{\"photo\":\"92404378b6:x\",\"sizes\":[[\"s\",\"323530165\",\"68fd\",\"s4sK_5tIHgE\",67,75],[\"m\",\"323530165\",\"68fe\",\"uVeQeZnIuI8\",116,130],[\"x\",\"323530165\",\"68ff\",\"NIaCeLJVK2g\",540,604],[\"o\",\"323530165\",\"6900\",\"yTYAtgnvOrM\",130,145],[\"p\",\"323530165\",\"6901\",\"RCGA3ZJD2lo\",200,224],[\"q\",\"323530165\",\"6902\",\"m28tR-Zv0kM\",320,358],[\"r\",\"323530165\",\"6903\",\"twGnd3KvNPs\",510,570]],\"kid\":\"9ff2190c02218d9283e776b0496d7b67\"}]", "hash"=>"5d43c84fbf54b52ba6435d318061d875"}.

Не могу понять, почему  формируется неправильный hash

P.S.Можно конечно сохранять фотографии в какой нибудь альбом а потом аттачментом отправлять на стену, но это не то. 

Влад Хомич

unread,
Jun 17, 2013, 6:14:00 AM6/17/13
to ror...@googlegroups.com
а так работает?
uploaded_photo_details = VkontakteApi.upload(url: us.upload_url, photo: [ 'quetzal.jpg', 'image/jpeg' ])
    


16 июня 2013 г., 15:54 пользователь stickz <temur.f...@gmail.com> написал:
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
 
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror...@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-un...@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru
---
Вы получили это сообщение, поскольку подписаны на группу RubyOnRails to russian.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес ror2ru+un...@googlegroups.com.
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
 
 

Влад Хомич

unread,
Jun 17, 2013, 6:15:47 AM6/17/13
to ror...@googlegroups.com



17 июня 2013 г., 13:14 пользователь Влад Хомич <khomic...@gmail.com> написал:

Влад Хомич

unread,
Jun 17, 2013, 6:17:44 AM6/17/13
to ror...@googlegroups.com
извиняюсь, тупанул.
а `up` - не массив, случайно? если да - попробуй на нем .first сделать


17 июня 2013 г., 13:15 пользователь Влад Хомич <khomic...@gmail.com> написал:

stickz

unread,
Jun 17, 2013, 2:33:31 PM6/17/13
to ror...@googlegroups.com
Проблема оказалась в том, при отправке фото на стену группы нужен параметр gid.
После добавления gid при вызове save_wall_photo все заработало.
  1. # Получение URI для загрузки фотографии
  2. us = app.photos.get_wall_upload_server(gid: 31644851)
  3. # POST-запрос на полученный адрес
  4. up = VkontakteApi.upload(url: us.upload_url, file1: ['1.png''image/png'])
  5. # Добавляем gid к нашему up, в котором уже есть параметры server, hash и photo
  6. up.gid = 31644851
  7. # Сохранение фотографии
  8. save = app.photos.save_wall_photo(up)
  9. # Отправка на стену группы
  10. app.wall.post(attachments:save.first.id, owner_id: '-31644851', from_group: 1 )

stickz

unread,
Jun 17, 2013, 2:53:35 PM6/17/13
to ror...@googlegroups.com
Спасибо Всеволоду Ромашову с Github, за то что  раскрыл глаза на мою невнимательность =)
Reply all
Reply to author
Forward
0 new messages