PavelDuk
@PavelDuk
Python Dev

Метод vkapi.messages.getHistory не работает, в чем дело?

Всем привет!
Поставил перед собой следующую задачу: скачать историю переписки из групповой беседы VK.

Использую Python 3.4.4 + библиотеку vk

import vk
from MyVkData import MyVkData

# использую созданный мною класс MyVkData чтобы скрыть свои пароли логины
session = vk.AuthSession(app_id=MyVkData.APP_ID, user_login=MyVkData.LOGIN,
                         user_password=MyVkData.GET_PASSWORD(),
                         access_token=MyVkData.TOKEN, scope='messages, offline' )
vkapi = vk.API(session)

# беседа в вк называется  '1+сердечко'
chat = vkapi.messages.searchDialogs(q='1')
chat = chat[0]

# получаю chat_id = 1
chat_id = chat['chat_id']


history = vkapi.messages.getHistory(count=200, peer_id=2000000000 + chat_id)
print(history)


В итоге код возвращает ошибку: vk.exceptions.VkAPIError: 100. One of the parameters specified was missing or invalid: user_id is undefined. request_params = {'oauth': '1', 'count': '200', 'method': 'messages.getHistory', 'peer_id': '2000000001'}

Если вместо параметра peer_id использовать параметр user_id передав ему id диалога с одним человеком а не беседы, то код отработает на ура. Возвратит JSON файл с историей переписки диалога.

Вот уже битый час ломаю голову почитывая документацию, изучая метод messages.getHistory и никак не могу понять почему он не срабатывает, если использовать параметр peer_id.
  • Вопрос задан
  • 3005 просмотров
Решения вопроса 1
neluzhin
@neluzhin
Вы забываете передавать версию API в своих запросах, потому ВК считает, что вы работаете с третьей версией API (актуальная — 5.65) Соответственно, параметры у запросов в разных версиях API могут различаться.

В документации к используемой вами библиотеке есть пример указания версии API:

session = vk.Session()
api = vk.API(session, v='5.35', lang='ru', timeout=10)
api.method.name(param=value)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
31 июл. 2021, в 10:32
150000 руб./за проект
31 июл. 2021, в 10:21
10000 руб./за проект
31 июл. 2021, в 10:06
1500 руб./за проект