Ошибка vk_api.exceptions.ApiError

Есть код:

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


Ответы (1 шт):

Автор решения: mironovmeow

В документации 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"])

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

→ Ссылка