vodka2 / vk-audio-token

Library that obtains VK tokens that work for VK audio API. Библиотека для получения токена VK, подходящего для Audio API.
https://vodka2.github.io/vk-audio-token/
116 stars 25 forks source link

Token confirmation required #41

Open ugozhaev opened 2 years ago

ugozhaev commented 2 years ago

Добрый день. Не которые полученные токены выдают error_code = 25 error_msg = 'Token confirmation required' при запросе audio.get Описания ошибки в vk нет. Как противодействовать - непонятно. Возможно, вы что-то знаете про нее. Возможно ли, что это что-то на этапе получения токена надо дополнительно сделать?

esbobkov commented 2 years ago

@ugozhaev такая же проблема, удалось решить?

ugozhaev commented 2 years ago

@ugozhaev такая же проблема, удалось решить?

блин, уже не помню распишите подробнее попробуйте под этим аккаунтом (которому токен принадлежит) авторизоваться в вк, гляньте, что просит, если просит

esbobkov commented 2 years ago

пофиксил использовав нужный User-Agent SupportedClients::VkOfficial()->getUserAgent()

billionaire commented 2 years ago

Ошибка снова появилась. Может у кого есть идеи решения вопроса?

mark99i commented 2 years ago

В настройках VK ID - безопасность и вход - защита от подозрительных приложений уберите

blackarcanis commented 2 years ago

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" :/

truespirit7 commented 2 years ago

В настройках VK ID - безопасность и вход - защита от подозрительных приложений уберите

Спасибо! Помогло!

truespirit7 commented 2 years ago

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

nitsik commented 2 years ago

Работает сейчас получение токенов?

ugozhaev commented 2 years ago

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 заменить на актуальный? Раньше так решалась проблема. И кто-то знает, какой сейчас актуальный, если что?

ugozhaev commented 2 years ago

Так. Отключение настройки помогает железно, автоматизация процесса отключения пока напрягает. В запросе с полученным токеном я попробовал современный User-Agent. Это не помогает. Хочу сам токен получить с современными данными. Где найти ClientSecret? Я хочу попробовать добиться, чтобы приложение не казалось подозрительным.

ugozhaev commented 2 years ago

Ну, собственно, ни client_id, ни client_secret не менялся. Получение самого токена с новым user-agent и новой версией api не помогает.

ugozhaev commented 2 years ago

Ок. Покопались в официальном приложении и в апи. В первом приближении ситуация выглядит так. Текущая версия приложения использует api v=5.190. В текущей версии приложения вообще не используется метод audio.get, хотя в самом апи метод существует. Тесты показали, что любое использование этого метода, под любой версией, с включенной защитой от подозрительных приложений, приводит к ошибке need_confirmation. Соответственно, чтобы не получать ее, у нас есть два пути. Первый, отключить настройку безопасности. Второй, не пользоваться этим методом. Альтернатива ему есть - catalog.getAudio?owner_id=&need_blocks=1. Вернется куча всякой информации, в том числе секция ['response']['audios'], в которой будет первая сотня треков. Если ее недостаточно, то при промотке используется catalog.getSection?start_from=<['response']['catalog']['sections'][0]['next_from']>&section_id=<['response']['catalog']['default_section']> Эти методы не вызывают ошибку. Видимо, audio.get идет как устаревший, и все запросы с ним рассматриваются как подозрительные по умолчанию.

Azarattum commented 1 year ago

@ugozhaev не подскажите, есть ли аналог audio.getRecommendations среди новых методов (нужно получить список похожих аудио)?