Не удается cохранить фотографию на сервер, vk api

import vk_api
photo_up = vk.photos.getMessagesUploadServer(upload_url = 'b2YHLbVrOhY.jpg')
print(photo_up)_#Выйдет ссылочка, по ней можно будет перейти и забрать все нужные данные
vk.photos.saveMessagesPhoto(photo = "[]", server = 858132)

Выдает следующую ошибку: One of the parameters specified was missing or invalid: photos_list is invalid. Что за параметр photos_list? В документации ничего про него не сказано


Ответы (1 шт):

Автор решения: Nikolay

photo = "[]"

Полагаю, что это и есть photos_list. Честно говоря, я не совсем понимаю, что происходит в вашем коде.

getMessagesUploadServer выдает ссылку на сервер, куда можно загрузить картинку. Далее ее нужно, собственно, загрузить, отправив ее на этот самый сервер. Сервер ответит JSON с данными, которые нужно передать в метод saveMessagesPhoto. Примерно так:

uploadurl = vk.photos.getMessagesUploadServer(peer_id = chat_id)['upload_url']
pfile = requests.post(uploadurl, files = {'photo': ('pic.png', picture)}).json()
photo = vk.photos.saveMessagesPhoto(server = pfile['server'], photo = pfile['photo'], hash = pfile['hash'])[0]
→ Ссылка