Token confirmation required
ugozhaev opened this issue · 14 comments
Добрый день. Не которые полученные токены выдают error_code = 25 error_msg = 'Token confirmation required' при запросе audio.get
Описания ошибки в vk нет. Как противодействовать - непонятно. Возможно, вы что-то знаете про нее. Возможно ли, что это что-то на этапе получения токена надо дополнительно сделать?
@ugozhaev такая же проблема, удалось решить?
блин, уже не помню
распишите подробнее
попробуйте под этим аккаунтом (которому токен принадлежит) авторизоваться в вк, гляньте, что просит, если просит
пофиксил использовав нужный User-Agent SupportedClients::VkOfficial()->getUserAgent()
Ошибка снова появилась. Может у кого есть идеи решения вопроса?
В настройках VK ID - безопасность и вход - защита от подозрительных приложений уберите
Same as @billionaire ; got this error back for a week approximatively...
In the VK ID settings - security and login - protection from suspicious applications, remove
I don't have this setting in this interface, only a way to enabled 2FA (which for sure, should not be done) and an information about "latest activity" :/
В настройках VK ID - безопасность и вход - защита от подозрительных приложений уберите
Спасибо! Помогло!
Same as @billionaire ; got this error back for a week approximatively...
In the VK ID settings - security and login - protection from suspicious applications, remove
I don't have this setting in this interface, only a way to enabled 2FA (which for sure, should not be done) and an information about "latest activity" :/
Это настройка находится по адресу:
https://id.vk.com/account/#/security
Работает сейчас получение токенов?
Same as @billionaire ; got this error back for a week approximatively...
In the VK ID settings - security and login - protection from suspicious applications, remove
I don't have this setting in this interface, only a way to enabled 2FA (which for sure, should not be done) and an information about "latest activity" :/
Это настройка находится по адресу: https://id.vk.com/account/#/security
Я вас правильно понял, что если у аккаунта, от которого получен токен, включена эта опция, то будет требоваться подтверждение токена? А если отключить, то ошибка уйдет? А проблема не решится, если user-agent заменить на актуальный? Раньше так решалась проблема. И кто-то знает, какой сейчас актуальный, если что?
Так. Отключение настройки помогает железно, автоматизация процесса отключения пока напрягает. В запросе с полученным токеном я попробовал современный User-Agent. Это не помогает. Хочу сам токен получить с современными данными. Где найти ClientSecret? Я хочу попробовать добиться, чтобы приложение не казалось подозрительным.
Ну, собственно, ни client_id, ни client_secret не менялся. Получение самого токена с новым user-agent и новой версией api не помогает.
Ок. Покопались в официальном приложении и в апи. В первом приближении ситуация выглядит так. Текущая версия приложения использует api v=5.190. В текущей версии приложения вообще не используется метод audio.get, хотя в самом апи метод существует. Тесты показали, что любое использование этого метода, под любой версией, с включенной защитой от подозрительных приложений, приводит к ошибке need_confirmation. Соответственно, чтобы не получать ее, у нас есть два пути. Первый, отключить настройку безопасности. Второй, не пользоваться этим методом. Альтернатива ему есть - catalog.getAudio?owner_id=<user_id>&need_blocks=1. Вернется куча всякой информации, в том числе секция ['response']['audios'], в которой будет первая сотня треков. Если ее недостаточно, то при промотке используется catalog.getSection?start_from=<['response']['catalog']['sections'][0]['next_from']>§ion_id=<['response']['catalog']['default_section']> Эти методы не вызывают ошибку. Видимо, audio.get идет как устаревший, и все запросы с ним рассматриваются как подозрительные по умолчанию.