Задать вопрос
@VladislavVoziyan
Слоупок, питонист и просто хороший человек

Как загрузить картинку в паблик через vk api?

import vk
#import pic_gen
import requests
#import SizeChecker

session = vk.AuthSession(access_token='ТОКЕН ДОСТУПА', scope=ПРАВА ДОСТУПА)
vk_api = vk.API(session, v='5.92')
filename = 'sample.png'
group_id = 'ID ГРУППЫ'

UplServ = vk_api.photos.getWallUploadServer(group_id=group_id)
upload_url = UplServ['upload_url']
img = {'photo': ('sample.png', open(r'sample.png', 'rb'))}
request = requests.post(upload_url, files=img)

params = {'server': request.json()['server'],
          'photo': request.json()['photo'],
          'hash': request.json()['hash'],
          'group_id': group_id}

photo_id = vk_api.photos.saveWallPhoto(**params)
photo_id = photo_id[0]
photo_id = 'photo'+ '-' + str(photo_id['owner_id']) + '_' + str(photo_id['id'])


params = {'attachments': photo_id,
          'message': 'Просто текст...',
          'owner_id': '-' + group_id,
          'from_group': '1'}
vk_api.wall.post(**params)


Есть вот такой кусок кода. По идее он должен загружать картинку на сервер VK, а затем постить её.
Проблема в том, что пост создаётся без картинки, только текст. Примечательно, что после работы функции getWallUploadServer, переменная UplServ принимает непонятно чей ['album_id'] и ['user_id'] (это не мои id пользователя или группы, и тем более у меня нет такого альбома)
  • Вопрос задан
  • 2669 просмотров
Подписаться 2 3 комментария
Подписчики вопроса 2 К ответам на вопрос (0)