Table of Contents

🌐 English · Русский

FAQ

Это официальная библиотека?

Нет. Это неофициальный клиент, не связанный с Яндексом, и оригинальная clean-room реализация, написанная по публичному HTTP-API. Используйте на свой риск и соблюдайте условия использования сервиса.

Какие версии .NET поддерживаются?

net8.0, net9.0 и net10.0.

Как скачать или стримить трек?

Получите прямую ссылку через GetDirectLinkAsync или сырые варианты через GetDownloadInfoAsync:

string? url = await client.Tracks.GetDirectLinkAsync("4");
var variants = await client.Tracks.GetDownloadInfoAsync("4");

Требуется авторизованная сессия с подходящей подпиской.

Как использовать прокси?

Передайте IWebProxy через опции:

using System.Net; // WebProxy

using var client = new YandexMusicClient(new YandexMusicClientOptions
{
    Proxy = new WebProxy("http://127.0.0.1:8080"),
});

Как интегрировать с DI?

Используйте пакет YandexMusic.DependencyInjection:

services.AddYandexMusic(o => o.Timeout = TimeSpan.FromSeconds(30));

Он регистрирует scoped IYandexMusicClient, изолированный на scope.

Как обрабатывать ошибки API?

Ловите YandexMusicApiException (и при необходимости YandexMusicAuthenticationException, YandexMusicSerializationException). Все наследуются от YandexMusicException.

Почему не запускаются интеграционные тесты?

Они ходят в реальный API и пропускаются, если не задана YANDEX_MUSIC_TOKEN:

YANDEX_MUSIC_TOKEN=<ваш-токен> dotnet test