
yandex-music-open-api
Swagger документация для Yandex Music.
Local development
npm install
npm start
Прокси сервер
По умолчанию, все запросы отправляются по следующему адресу https://yandex-music-cors-proxy.onrender.com/https://api.music.yandex.net:443/
Если вы не доверяете прокси серверу, то для обхода данной проблемы можно использовать следующий способ запуска Google Chrome. Сначала закройте все инстансы Google Chrome, затем перейдите в папку с Google Chrome и запустите его с флагом --disable-web-security
. При запуске Google Chrome вы увидите сообщение Вы используете неподдерживаемый флаг командной строки: -disable-web-security. Стабильность и безопасность будут нарушены.
, данное сообщение можете игнорировать.
Mac OS
open -na Google\ Chrome --args --user-data-dir=/tmp/temporary-chrome-profile-dir --disable-web-security --disable-site-isolation-trials
Windows
cd C:\Program Files (x86)\Google\Chrome\Application
.\Chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
После запуска, можете выбрать сервер напрямую адрес Яндекс.Музыки в верхней части схемы - https://api.music.yandex.net:443/

Open API генератор
Кастомный request.ts файл
Необходимо использовать кастомный request.ts
файл из-за известного бага в openapi-typescript-codegen
модуле.
Использование JavaScript Yandex Music Client
Как использовать клиент Яндекс.Музыки для JavaScript описано здесь.
- Установить openapi-generator
- Скачать *./src/yandex-music.yaml
- Выбрать нужный генератор, выбрать можно из списка
- Сгенерировать клиент
openapi-generator generate -i yandex-music.yaml -g csharp-netcore -o ./dotnet-proxies --additional-properties=targetFramework=net6.0
, csharp-netcore
- генератор для C#
using Org.OpenAPITools.Client;
using Org.OpenAPITools.Api;
var userApi = new UserApi("https://oauth.yandex.ru");
var token = userApi.GetToken(
"password",
"23cabbbdc6cd418abb4b39c32c41195d",
"53bc75238f0c4d08a118e51fe9203300",
"<your email>",
"<password>"
);
Console.WriteLine($"Token: {token.AccessToken}");
GlobalConfiguration.Instance.DefaultHeaders["Authorization"] = $"OAuth {token.AccessToken}";
var landingApi = new LandingApi("https://api.music.yandex.net:443");
var releases = landingApi.GetNewReleases();
Console.WriteLine($"Releases Count: {releases.Result.NewReleases.Count}");
Roadmap
Помощь
Все вопросы касающиеся yandex music api, могут быть заданы в Telegram чате.
Поддержать автора можно подписавшись на его Telegram канал.
Благодарность
Спасибо MarshalX, его работа положена в основу yandex-music-extension и yandex-music-open-api.