Ошибка vk_api.exceptions.ApiError

Рейтинг: 0Ответов: 1Опубликовано: 05.02.2023

Есть код:

session.method('messages.send', {'user_id' : id, 'message' : 'test', 'random_id' : '0'})

При выполнении кода получаю ошибку:

vk_api.exceptions.ApiError: [17] Validation required: please open redirect_uri in browser

Ответы

▲ 0Принят

В документации VK API по коду ошибки 17 сказано:

Действие требует подтверждения — необходимо перенаправить пользователя на служебную страницу для валидации.

В библиотеке vk_api получить redirect_uri можно в объекте ApiError

from vk_api.exceptions import ApiError

try:
    session.method('messages.send', {'user_id': id, 'message': 'test', 'random_id': '0'})
except ApiError as e:
    print(e.error["redirect_uri"])

Эту ссылку уже открывает пользователь токена в браузере. Пользователь подтверждает и метод можно использовать снова.