Исправить ошибку в запросе api vk - Python
Формулировка задачи:
Всем привет. Я скачал эту библиотеку, но у меня возникла проблема с запросом wall.getById с единственным аргументом в формате %d_%d. Посмотрев в исходниках я понял что мне нужна функция method класса VkRequestsPool. Так у меня получился код:
... Вместе с кодом и пару ошибок связанных с ним:
Traceback (most recent call last):
File "D:\Python\Scripts\test.py", line 20, in <module>
main()
File "D:\Python\Scripts\test.py", line 17, in main
wall = pool.method('wall.getById', '1,45558')
File "D:\Python\lib\site-packages\vk_api\vk_tools.py", line 127, in __exit__
self.execute()
File "D:\Python\lib\site-packages\vk_api\vk_tools.py", line 242, in execute
self.pool[i + x][2].update(response[x])
TypeError: 'bool' object is not iterable
Часть исходника с интересующей меня функцией:
Листинг программы
- # -*- coding: utf-8 -*-
- import vk_api
- def main():
- login, password = 'removed@mail.ru', 'pass'
- vk_session = vk_api.VkApi(login, password)
- try:
- vk_session.authorization()
- except vk_api.AuthorizationError as error_msg:
- print(error_msg)
- return
- with vk_api.VkRequestsPool(vk_session) as pool:
- wall = pool.method('wall.getById', '1,45558')
- print(wall)
- if __name__ == '__main__':
- main()
Листинг программы
- class VkRequestsPool(object):
- """ Позволяет сделать несколько обращений к API за один запрос
- за счет метода execute
- """
- __slots__ = ('vk', 'pool', 'one_param')
- def method(self, method, values=None):
- """ Добавляет запрос в пулл
- :param method: метод
- :param values: параметры
- """
- if self.one_param:
- raise Exception('One param mode dont work with self.method')
- req = (method, values, {})
- self.pool.append(req)
- return req[2]
Решение задачи: «Исправить ошибку в запросе api vk»
textual
Листинг программы
- my_id = '' # id пользователя или группы для постинга на стену
- def testpost(my_id):
- session = vk.AuthSession(login='login@vk.com', password='password')
- api = vk.API(session)
- # Правильный вариант использования модуля vk_api
- response = api.method("wall.post", values={"owner_id": my_id, "message": "Test API"})
- print(response)
- testpost()
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д