VK API saveWallPhoto error 121: Invalid hash - Python

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток всем. Захотелось выложить фотографию на стену группы. Казалось бы читай маны и делай. Что получилось:
Листинг программы
  1. # 1. url
  2. r1 = api.photos_getWallUploadServer(owner_id=group_id)
  3. # 2. upload
  4. with open(filename, 'rb') as f:
  5. r2 = requests.post(r1['upload_url'], files={'photo': f})
  6. r2 = json_decoder.decode(r2.text)
  7. print (r2['photo'])
  8. # 3. save
  9. r3 = api.photos_saveWallPhoto(group_id=group_id,
  10. server=r2['server'], photo=r2['photo'], hash=r2['hash'], caption=text)
  11. print (r3)
На первом шаге получаем url для загрузки фотографии, на втором post-запросом отправляем фотографию. В шестой строчке приходит JSON-ответ, в 7 - декодируем. Мне почему-то кажется, что декодер ломает строку в photo. Принятое значение до декодирования:
Листинг программы
  1. {
  2. "server": 837231,
  3. "photo": "[{"photo":"adefb...ee6:w","sizes":[[...]],"kid":"9cb771a844ac...eee95185e7f","debug":"xswmwxwywzwwwowpwqwrw"}]",
  4. "hash": "e6f21467d84793f1e2984d26a356977e"
  5. }
В одиннадцатой строке отправляются значения server, photo, hash и другие. GET-параметры пропускаются через функцию urlencode. url: https://api.vk.com/method/photos.sav...wqwrw%22%7D%5D Метод photos.saveWallPhoto возвращает ошибку Invalid hash. Кто-нибудь встречался с подобным или может предположить в чём проблема?

Решение задачи: «VK API saveWallPhoto error 121: Invalid hash»

textual
Листинг программы
  1. r3 = api.photos_saveWallPhoto(server=r2['server'], photo=r2['photo'], hash=r2['hash'], caption=text)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы