@user43

Вк апи. Ошибка «vk_api.exceptions.ApiError: [22] Upload error» при загрузки аватарки для беседы. Что делать?

upload_server = vk_session.method('photos.getChatUploadServer', {'chat_id': event.chat_id, 'crop_x': 10, 'crop_y': 25, 'crop_width': 500})
            	imagePath = "./myimage.png"
            	img = {'file': ('img.jpg', open(imagePath, 'rb'))}
            	photo_upload_response = requests.post(upload_server['upload_url'], files=img)
            	photo_upload_result = json.loads(photo_upload_response.text)
            	print(photo_upload_result)
            	vk_session.method('messages.setChatPhoto', {'file': photo_upload_result}) #ошибка возникает тут


Текст ошибки:
Traceback (most recent call last):
File "H:/Folder/VkBotMain.py", line 118, in
vk_session.method('messages.setChatPhoto', {'file': photo_upload_result})
File "C:\Users\User\AppData\Local\Programs\Python\Python35\lib\site-packages\vk_api\vk_api.py", line 636, in method
raise error
vk_api.exceptions.ApiError: [22] Upload error
Что делать? Как исправить ошибку?
  • Вопрос задан
  • 388 просмотров
Решения вопроса 1
@Taus
В аргументе file необходимо не весь json-объект после post запроса передавать, а только поле response.
vk_session.method('messages.setChatPhoto', {'file': photo_upload_result['response']})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы