public async Task GetAlbumAndTracks() { string albumId = "WpTPGzNLeutVFHcFq6"; // Get album information var albumResult = await OpenAPI.GetAlbumAsync(albumId); var album = albumResult.Content; Debug.WriteLine($"album: {album.Name}, {album.Id}"); PagingData tracksPaging = null; // Get tracks of the album var tracksResult = await OpenAPI.GetTracksOfAlbumAsync(album.Id, tracksPaging?.Limit, tracksPaging?.Offset); var tracks = tracksResult.Content; tracksPaging = tracks.Paging; tracksPaging.Offset = tracks.Paging.NextOffset(); foreach (var track in tracks.Data) { Debug.WriteLine($"song: {track.Name}, {track.Id}"); } if (tracksPaging.IsEnd() == false) { // Loop to get all tracks of the album } }
public async Task GetChartsAndPlaylistTracks() { var chartPlaylistsResult = await OpenAPI.GetChartListAsync(); var chartPlaylists = chartPlaylistsResult.Content; foreach (var item in chartPlaylists.Data) { Debug.WriteLine($"chart playlist: {item.Title}, {item.Id}"); PagingData tracksPaging = null; // Get playlist information var playlist = await OpenAPI.GetPlaylistOfChartAsync(item.Id); // Get tracks of the playlist var tracksResult = await OpenAPI.GetPlaylistTracksOfChartAsync(item.Id, tracksPaging?.Limit, tracksPaging?.Offset); var tracks = tracksResult.Content; tracksPaging = tracks.Paging; tracksPaging.Offset = tracks.Paging.NextOffset(); foreach (var track in tracks.Data) { Debug.WriteLine($"song: {track.Name}, {track.Id}"); } if (tracksPaging.IsEnd()) { // Loop to get all tracks of the playlist } } }
public async Task GetNewReleaseList() { PagingData categoryPaging = null; // List of new release categories. var newReleaseCategoryResult = await OpenAPI.GetNewReleaseCategoriesAsync(categoryPaging?.Limit, categoryPaging?.Offset); var newReleaseCategory = newReleaseCategoryResult.Content; foreach (var categoryItem in newReleaseCategory.Data) { Debug.WriteLine($"new release category: {categoryItem.Title}, {categoryItem.Id}"); // To retrieve information of the new release category with {category_id}. var categoryDetailResult = await OpenAPI.GetNewReleaseCategoryAsync(categoryItem.Id); var categoryDetail = categoryDetailResult.Content; PagingData albumPaging = categoryDetail.Albums.Paging; albumPaging.Offset = albumPaging.NextOffset(); foreach (var album in categoryDetail.Albums.Data) { Debug.WriteLine($"album of the new release: {album.Name}, {album.Id} : {categoryDetail.Title}"); } if (albumPaging.IsEnd()) { continue; } var albumsResult = await OpenAPI.GetAlbumsOfNewReleaseCategoryAsync(categoryItem.Id, albumPaging?.Limit, albumPaging?.Offset); var albums = albumsResult.Content; foreach (var album in albums.Data) { Debug.WriteLine($"album of the new release: {album.Name}, {album.Id} : {categoryDetail.Title}"); } albumPaging = albums.Paging; albumPaging.Offset = albumPaging.Offset + albumPaging.Limit; if (string.IsNullOrEmpty(albums.Paging.Next)) { // Loop to get all albums of the category } } categoryPaging = newReleaseCategory.Paging; categoryPaging.Offset = categoryPaging.Offset + categoryPaging.Limit; if (string.IsNullOrEmpty(newReleaseCategory.Paging.Next)) { // List of new release categories. } }
public async Task GetFeaturedPlaylistsTestMethod() { await AuthorizeAsyncTestMethod(); PagingData paging = null; while (true) { // Get featured playlists var featuredPlaylistsResult = await OpenAPI.GetFeaturedPlaylistsAsync(paging?.Limit, paging?.Offset); var featuredPlaylists = featuredPlaylistsResult.Content; foreach (var item in featuredPlaylists.Data) { Debug.WriteLine($"featured playlist: {item.Title}, {item.Id}"); // Get playlist information var playlist = await OpenAPI.GetPlaylistOfFeaturedPlaylistsAsync(item.Id); PagingData tracksPaging = null; while (true) { // Loop to get all tracks of the playlist var tracksResult = await OpenAPI.GetPlaylistTracksOfFeaturedPlaylistsAsync(item.Id, tracksPaging?.Limit, tracksPaging?.Offset); var tracks = tracksResult.Content; tracksPaging = tracks.Paging; tracksPaging.Offset = tracks.Paging.NextOffset(); foreach (var track in tracks.Data) { Debug.WriteLine($"song: {track.Name}, {track.Id}"); } if (tracksPaging.IsEnd()) { break; } } } paging = featuredPlaylists.Paging; paging.Offset = featuredPlaylists.Paging.NextOffset(); if (paging.IsEnd()) { break; } } }
public async Task GetArtistAndAlbumTracksAndTopTracks() { string artistId = "8q3_xzjl89Yakn_7GB"; // Get artist information var artistResult = await OpenAPI.GetArtistAsync(artistId); var artist = artistResult.Content; Debug.WriteLine($"artist: {artist.Name}, {artist.Id}"); PagingData albumsPaging = null; // Get albums of the artist var albumsResult = await OpenAPI.GetAlbumsOfArtistAsync(artist.Id, albumsPaging?.Limit, albumsPaging?.Offset); var albums = albumsResult.Content; albumsPaging = albums.Paging; albumsPaging.Offset = albums.Paging.NextOffset(); foreach (var album in albums.Data) { Debug.WriteLine($"album: {album.Name}, {album.Id}"); } if (albumsPaging.IsEnd()) { // Loop to get all albums of the artist } PagingData topTracksPaging = null; // Get top tracks of the artist var topTracksResult = await OpenAPI.GetTopTracksOfArtistAsync(artist.Id, topTracksPaging?.Limit, topTracksPaging?.Offset); var topTracks = topTracksResult.Content; topTracksPaging = topTracks.Paging; topTracksPaging.Offset = topTracks.Paging.NextOffset(); foreach (var track in topTracks.Data) { Debug.WriteLine($"top song: {track.Name}, {track.Id}"); } if (topTracksPaging.IsEnd()) { // Loop to get all top tracks of the artist } }