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
<PackageReference Include="KM.Yandex.Music.Api" Version="2.0.0" />
paket add KM.Yandex.Music.Api --version 2.0.0
#r "nuget: KM.Yandex.Music.Api, 2.0.0"
// 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 библиотека
Функциональность
Работа с 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
Product | Versions 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. |
-
net7.0
- Newtonsoft.Json (>= 13.0.3)
-
net8.0
- Newtonsoft.Json (>= 13.0.3)
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 |