VkApi (основной класс)¶
- class vk_api.vk_api.VkApi(login=None, password=None, token=None, auth_handler=None, captcha_handler=None, config=<class 'jconfig.jconfig.Config'>, config_filename='vk_config.v2.json', api_version='5.92', app_id=6222115, scope=140492255, client_secret=None, session=None)[source]¶
- Parameters:
login (str) – Логин ВКонтакте (лучше использовать номер телефона для автоматического обхода проверки безопасности)
password (str) – Пароль ВКонтакте (если пароль не передан, то будет попытка использовать сохраненные данные)
token (str) – access_token
auth_handler – Функция для обработки двухфакторной аутентификации, должна возвращать строку с кодом и булево значение, означающее, стоит ли запомнить это устройство, для прохождения аутентификации.
captcha_handler – Функция для обработки капчи, см.
captcha_handler()
config (
jconfig.base.BaseConfig
) – Класс для сохранения настроекconfig_filename – Расположение config файла для
jconfig.config.Config
api_version (str) – Версия API
app_id (int) – app_id Standalone-приложения
scope (int or str) – Запрашиваемые права, можно передать строкой или числом. См.
VkUserPermissions
client_secret – Защищенный ключ приложения для Client Credentials Flow авторизации приложения (https://vk.com/dev/client_cred_flow). Внимание: Этот способ авторизации устарел, рекомендуется использовать сервисный ключ из настроек приложения.
login и password необходимы для автоматического получения токена при помощи Implicit Flow авторизации пользователя и возможности работы с веб-версией сайта (включая
vk_api.audio.VkAudio
)- Parameters:
session (
requests.Session
) – Кастомная сессия со своими параметрами(из библиотеки requests)
- auth(reauth=False, token_only=False)[source]¶
Аутентификация
- Parameters:
reauth – Позволяет переавторизоваться, игнорируя сохраненные куки и токен
token_only –
Включает оптимальную стратегию аутентификации, если необходим только access_token
Например если сохраненные куки не валидны, но токен валиден, то аутентификация пройдет успешно
При token_only=False, сначала проверяется валидность куки. Если кука не будет валидна, то будет произведена попытка аутетификации с паролем. Тогда если пароль не верен или пароль не передан, то аутентификация закончится с ошибкой.
Если вы не делаете запросы к веб версии сайта используя куки, то лучше использовать token_only=True
- captcha_handler(captcha)[source]¶
Обработчик капчи (http://vk.com/dev/captcha_error)
- Parameters:
captcha – объект исключения Captcha
- need_validation_handler(error)[source]¶
- Обработчик проверки безопасности при запросе API
- Parameters:
error – исключение
- too_many_rps_handler(error)[source]¶
- Обработчик ошибки “Слишком много запросов в секунду”.
Ждет полсекунды и пробует отправить запрос заново
- Parameters:
error – исключение
- get_api()[source]¶
Возвращает VkApiMethod(self)
Позволяет обращаться к методам API как к обычным классам. Например vk.wall.get(…)
- method(method, values=None, captcha_sid=None, captcha_key=None, raw=False)[source]¶
Вызов метода API
- Parameters:
method (str) – название метода
values (dict) – параметры
captcha_sid – id капчи
captcha_key (str) – ответ капчи
raw (bool) – при False возвращает response[‘response’] при True возвращает response (может понадобиться для метода execute для получения execute_errors)
- class vk_api.vk_api.VkUserPermissions(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
Bases:
IntEnum
Перечисление прав пользователя. Список прав получается побитовым сложением (x | y) каждого права. Подробнее в документации VK API: https://vk.com/dev/permissions
- NOTIFY = 1¶
Пользователь разрешил отправлять ему уведомления (для flash/iframe-приложений). Не работает с этой библиотекой.
- FRIEND = 2¶
Доступ к друзьям.
- PHOTOS = 4¶
Доступ к фотографиям.
- AUDIO = 8¶
Доступ к аудиозаписям. При отсутствии доступа к закрытому API аудиозаписей это право позволяет только загрузку аудио.
- VIDEO = 16¶
Доступ к видеозаписям.
- STORIES = 64¶
Доступ к историям.
- PAGES = 128¶
Доступ к wiki-страницам.
- ADD_LINK = 256¶
Добавление ссылки на приложение в меню слева.
- STATUS = 1024¶
Доступ к статусу пользователя.
- NOTES = 2048¶
Доступ к заметкам пользователя.
- MESSAGES = 4096¶
Доступ к расширенным методам работы с сообщениями.
- WALL = 8192¶
Доступ к обычным и расширенным методам работы со стеной.
- ADS = 32768¶
Доступ к расширенным методам работы с рекламным API.
- OFFLINE = 65536¶
Доступ к API в любое время. Рекомендуется при работе с этой библиотекой.
- DOCS = 131072¶
Доступ к документам.
- GROUPS = 262144¶
Доступ к группам пользователя.
- NOTIFICATIONS = 524288¶
Доступ к оповещениям об ответах пользователю.
- STATS = 1048576¶
Доступ к статистике групп и приложений пользователя, администратором которых он является.
- EMAIL = 4194304¶
Доступ к email пользователя.
- MARKET = 134217728¶
Доступ к товарам.