d1n0z4vr
@d1n0z4vr

Vk_api.exceptions.ApiError: [121] Invalid hash. Это апи, определенно, или... Или это мой код?

Короче, делаю програмку которая будет постить картинки в сообщество(с циклом for), но вот незадача, баг в апи(или как это можно назвать) не дает мне постить. Дело в том, что надо сохранять картинки на полученный url. Для этого используется функция photos.saveWallPhoto. Её параметр, который нужен для работы и мешает мне:

group_id
positive
Идентификатор сообщества, на стену которого нужно сохранить фотографию.

Дело в том, что id сообщества - обязательно отрицательное число. Мне нужно либо подправить библиотеку(если это вообще возможно), либо как-нибудь чем-нибудь воспользоваться.
Если что, вот код(Осторожно! Много чего недоделано и много мусора, только начал писать программу):
# -*- coding: cp1251 -*-
import os.path
import requests
import vk_api

album_id_ = айди альбома
public_id = -айди паблика
vk_session = vk_api.VkApi(
token='токен')
vk = vk_session.get_api()
number_arts = len([1 for x in list(os.scandir("arts")) if x.is_file()])
print("артов:", number_arts)
print(vk.photos.getWallUploadServer(album_id=album_id_, group_id=public_id))
uploadServer = vk.photos.getWallUploadServer(album_id=album_id_, group_id=public_id)
uploadUrl = uploadServer["upload_url"]
print("Ссылка на загрузку:", uploadUrl)
path = r"C:/Users/SuperUser/PycharmProjects/bot/arts/"
artslist = os.listdir(path)
print(artslist)
for a in range(0, number_arts):
pth = path + artslist[a]
fp = open(pth, 'rb')
file = {'file': fp}
pt = requests.post(uploadUrl, files=file)
fp.close()
res = pt.json()
print(res)
pwi = vk.photos.saveWallPhoto(group_id=public_id, server=res["server"], photo=res["photo"], hash=res["hash"])
pdi = str(pwi[0]["id"])
print(pwi)
print("photo" + sublic_id + "_" + str(pwi[0]["id"]) + " запощено")
next_date = 1658599521
vk.wall.post(
owner_id=public_id,
attachment="{0}{1}_{2}".format(
"photo",
sublic_id,
pdi
),
friends_only=0,
from_group=1,
publish_date=next_date
)
# os.delete(path[a])

Надеюсь ничего не упустил.
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы