KM.Yandex.Music.Api 2.0.0

dotnet add package KM.Yandex.Music.Api --version 2.0.0                
NuGet\Install-Package KM.Yandex.Music.Api -Version 2.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KM.Yandex.Music.Api" Version="2.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add KM.Yandex.Music.Api --version 2.0.0                
#r "nuget: KM.Yandex.Music.Api, 2.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install KM.Yandex.Music.Api as a Cake Addin
#addin nuget:?package=KM.Yandex.Music.Api&version=2.0.0

// Install KM.Yandex.Music.Api as a Cake Tool
#tool nuget:?package=KM.Yandex.Music.Api&version=2.0.0                

Yandex.Music API (Unofficial) for .Net

Изначально было форком Yandex.Music API (Unofficial) for .Net Core, отсоединено по причине отсутствия поддержки родительского проекта и полном переписывании функционала библиотеки.

API переделано под работу с API официального приложения, подобно API Yandex Music - неофициальная Python библиотека

Документация

История версий

Telegram-чат

Функциональность

Работа с API осуществляется через хранилище AuthStorage, являющееся по сути сущностью для пользователя, поэтому его необходимо передавать в вызов каждой функции.

API для удобства разделено на следующие ветки:

YandexMusicApi
│
├── Users
│   ├── Authorize / Async (AuthStorage storage, string token)
│   ├── GetUserAuth / Async (AuthStorage storage)
│   ├── CreateAuthSession / Async (AuthStorage storage, string userName)
│   ├── GetAuthQRLink / Async (AuthStorage storage)
│   ├── AuthorizeByQR / Async (AuthStorage storage)
│   ├── GetCaptcha / Async (AuthStorage storage)
│   ├── AuthorizeByCaptcha / Async (AuthStorage storage, string captchaValue)
│   ├── GetAuthLetter / Async (AuthStorage storage)
│   ├── AuthorizeByLetter / Async (AuthStorage storage)
│   ├── AuthorizeByAppPassword / Async (AuthStorage storage, string password)
│   ├── GetAccessToken / Async (AuthStorage storage)
│   └── GetLoginInfo / Async (AuthStorage storage)
├── Track
│   ├── Get / Async (AuthStorage storage, string trackId)
│   ├── Get / Async (AuthStorage storage, IEnumerable<string> trackIds)
│   ├── GetMetadataForDownload / Async (AuthStorage storage, string trackKey, bool direct)
│   ├── GetMetadataForDownload / Async (AuthStorage storage, YTrack track, bool direct)
│   ├── GetDownloadFileInfo / Async (AuthStorage storage, YTrackDownloadInfoResponse metadataInfo)
│   ├── GetFileLink / Async (AuthStorage storage, string trackKey)
│   ├── GetFileLink / Async (AuthStorage storage, YTrack track)
│   ├── ExtractToFile / Async (AuthStorage storage, string trackKey, string filePath)
│   ├── ExtractToFile / Async (AuthStorage storage, YTrack track, string filePath)
│   ├── ExtractData / Async (AuthStorage storage, string trackKey)
│   ├── ExtractData / Async (AuthStorage storage, YTrack track)
│   ├── ExtractStream / Async (AuthStorage storage, string trackKey)
│   ├── ExtractStream / Async (AuthStorage storage, YTrack track)
│   ├── GetSupplement / Async (AuthStorage storage, string trackId)
│   ├── GetSupplement / Async (AuthStorage storage, YTrack track)
│   ├── GetSimilar / Async (AuthStorage storage, string trackId)
│   ├── GetSimilar / Async (AuthStorage storage, YTrack track)
│   └── SendPlayTrackInfo / Async (AuthStorage storage, YTrack track, string from, bool fromCache = false, string playId = "", string playlistId = "", double totalPlayedSeconds = 0, double endPositionSeconds = 0)
├── Album
│   ├── Get / Async (AuthStorage storage, string albumId)
│   └── Get / Async (AuthStorage storage, IEnumerable<string> albumIds)
├── Artist
│   ├── Get / Async (AuthStorage storage, string artistId)
│   ├── Get / Async (AuthStorage storage, IEnumerable<string> artistIds)
│   ├── GetTracks / Async (AuthStorage storage, string artistId, int page = 0, int pageSize = 20)
│   └── GetAllTracks / Async (AuthStorage storage, string artistId)
├── Labels
│   ├── GetAlbumsByLabel / Async (AuthStorage storage, YLabel label, int page)
│   └── GetArtistsByLabel / Async (AuthStorage storage, YLabel label, int page)
├── Landing
│   ├── Get / Async (AuthStorage storage, params YLandingBlockType[] blocks)
│   ├── Feed / Async (AuthStorage storage)
│   └── GetChildrenLanding / Async (AuthStorage storage)
├── Playlist
│   ├── Get / Async (AuthStorage storage, string user, string kinds)
│   ├── Get / Async (AuthStorage storage, IEnumerable<(string user, string kind)> ids)
│   ├── GetPersonalPlaylists / Async (AuthStorage storage)
│   ├── Favorites / Async (AuthStorage storage)
│   ├── OfTheDay / Async (AuthStorage storage)
│   ├── DejaVu / Async (AuthStorage storage)
│   ├── Premiere / Async (AuthStorage storage)
│   ├── Missed / Async (AuthStorage storage)
│   ├── Kinopoisk / Async (AuthStorage storage)
│   ├── Create / Async (AuthStorage storage, string name)
│   ├── Rename / Async (AuthStorage storage, string kinds, string name)
│   ├── Rename / Async (AuthStorage storage, YPlaylist playlist, string name)
│   ├── Delete / Async (AuthStorage storage, string kinds)
│   ├── Delete / Async (AuthStorage storage, YPlaylist playlist)
│   ├── InsertTracks / Async (AuthStorage storage, YPlaylist playlist, IEnumerable<YTrack> tracks)
│   └── DeleteTrack / Async (AuthStorage storage, YPlaylist playlist, IEnumerable<YTrack> tracks)
├── Library
│   ├── GetLikedTracks / Async (AuthStorage storage)
│   ├── GetLikedAlbums / Async (AuthStorage storage)
│   ├── GetLikedArtists / Async (AuthStorage storage)
│   ├── GetLikedPlaylists / Async (AuthStorage storage)
│   ├── GetDislikedTracks / Async (AuthStorage storage)
│   ├── AddTrackLike / Async (AuthStorage storage, YTrack track)
│   ├── RemoveTrackLike / Async (AuthStorage storage, YTrack track)
│   ├── AddTrackDislike / Async (AuthStorage storage, YTrack track)
│   ├── RemoveTrackDislike / Async (AuthStorage storage, YTrack track)
│   ├── AddAlbumLike / Async (AuthStorage storage, YAlbum album)
│   ├── RemoveAlbumLike / Async (AuthStorage storage, YAlbum album)
│   ├── AddArtistLike / Async (AuthStorage storage, YArtist artist)
│   ├── RemoveArtistLike / Async (AuthStorage storage, YArtist artist)
│   ├── AddPlaylistLike / Async (AuthStorage storage, YPlaylist playlist)
│   ├── RemovePlaylistLike / Async (AuthStorage storage, YPlaylist playlist)
│   └── GetRecentlyListened / Async (AuthStorage storage, IEnumerable<YPlayContextType> contextTypes, int trackCount, int contextCount)
├── Search
│   ├── Track / Async (AuthStorage storage, string trackName, int pageNumber = 0, int pageSize = 20)
│   ├── Albums / Async (AuthStorage storage, string albumName, int pageNumber = 0, int pageSize = 20)
│   ├── Artist / Async (AuthStorage storage, string artistName, int pageNumber = 0, int pageSize = 20)
│   ├── Playlist / Async (AuthStorage storage, string playlistName, int pageNumber = 0, int pageSize = 20)
│   ├── PodcastEpisode / Async (AuthStorage storage, string podcastName, int pageNumber = 0, int pageSize = 20)
│   ├── Videos / Async (AuthStorage storage, string videoName, int pageNumber = 0, int pageSize = 20)
│   ├── Users / Async (AuthStorage storage, string videoName, int pageNumber = 0, int pageSize = 20) *
│   ├── Search / Async (AuthStorage storage, string searchText, YSearchType searchType, int page = 0, int pageSize = 20)
│   └── Suggest / Async (AuthStorage storage, string searchText)
├── Radio
│   ├── GetStationsDashboard / Async (AuthStorage storage)
│   ├── GetStations / Async (AuthStorage storage)
│   ├── GetStation / Async (AuthStorage storage, string type, string tag)
│   ├── GetStation / Async (AuthStorage storage, YStationId id)
│   ├── GetStationTracks / Async (AuthStorage storage, YStation station, string prevTrackId = "")
│   ├── SetStationSettings2 / Async (AuthStorage storage, YStation station, YStationSettings2 settings)
│   └── SendStationFeedBack / Async (AuthStorage storage, YStation station, YStationFeedbackType type, YTrack track = null, string batchId = "", double totalPlayedSeconds = 0)
├── Queue
│   ├── List / Async (AuthStorage storage, string device = null)
│   ├── Get / Async (AuthStorage storage, string queueId)
│   ├── Create / Async (AuthStorage storage, YQueue queue, string device = null)
│   └── UpdatePosition / Async (AuthStorage storage, string queueId, int currentIndex, bool isInteractive, string device = null)
├── Ugc
│   ├── GetUgcUploadLink / Async (AuthStorage storage, YPlaylist playlist, string fileName)
│   ├── UploadUgcTrack / Async (AuthStorage storage, string uploadLink, string filePath)
│   ├── UploadUgcTrack / Async (AuthStorage storage, string uploadLink, Stream stream)
│   └── UploadUgcTrack / Async (AuthStorage storage, string uploadLink, byte[] file)
├── Ynison
│   └── Connect (AuthStorage storage)
└── Future
    ...

Функции, помеченные звёздочкой, вероятно, не работают или передают неверные параметры.

LICENCE

GNU General Public License v3.0

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on KM.Yandex.Music.Api:

Package Downloads
KM.Yandex.Music.Client

Client for unofficial Yandex.Music API library

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.0 194 10/5/2024
1.10.1 341 8/3/2024
1.10.0 217 5/1/2024
1.9.0 212 3/24/2024
1.8.0 190 3/3/2024
1.7.2 171 3/2/2024
1.7.1 186 2/2/2024
1.7.0 177 1/21/2024
1.6.0 212 1/7/2024
1.5.0 439 9/10/2023
1.4.2 244 8/21/2023
1.4.1 293 6/10/2023
1.4.0 220 5/12/2023
1.3.6 265 5/7/2023
1.3.5 269 5/1/2023
1.3.4 429 3/5/2023
1.3.3 513 1/26/2023
1.3.2 468 1/23/2023
1.3.1 469 1/17/2023
1.3.0 436 1/16/2023
1.2.1 496 1/11/2023
1.2.0 492 1/9/2023
1.1.1 517 12/20/2022
1.1.0 485 11/16/2022
1.0.1 650 10/17/2022
1.0.0 912 3/8/2022