public List <Track> PutRecommendationsIntoList(RecommendationsResult tracks) { List <Track> trackList1 = new List <Track>(); for (int i = 0; i < tracks.Tracks.Length; i++) { List <Artist> artistList = new List <Artist>(); string album = tracks.Tracks[i].Album.Name; for (int j = 0; j < tracks.Tracks[i].Artists.Length; j++) { string artistid = tracks.Tracks[i].Artists[j].Id; string artistname = tracks.Tracks[i].Artists[j].Name; Artist artist = new Artist(artistid, artistname); artistList.Add(artist); } List <Artist> artists = artistList; string id = tracks.Tracks[i].Id; string name = tracks.Tracks[i].Name; int popularity = tracks.Tracks[i].Popularity; string uri = tracks.Tracks[i].Uri; Track track = new Track(album, artists, id, name, popularity, uri); trackList1.Add(track); } return(trackList1); }
public async Task <RecommendationsResult> GetTrackRecommendations(string access_token) { var http = new HttpClient(); var browse = new BrowseApi(http, access_token); string id1 = artistListLong[0].id; string id2 = artistListLong[1].id; RecommendationsResult result = await browse.GetRecommendations(new[] { id1, id2 }, null, null); return(result); }
public async Task Usage1() { // HttpClient and AccountsService can be reused. // Tokens are automatically cached and refreshed var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); // Get an artist by Spotify Artist Id var artists = new ArtistsApi(http, accounts); Artist artist = await artists.GetArtist("1tpXaFf2F55E7kVJON4j4G"); string artistName = artist.Name; Trace.WriteLine($"Artist.Name = {artistName}"); // Get recommendations based on seed Artist Ids var browse = new BrowseApi(http, accounts); RecommendationsResult result = await browse.GetRecommendations(new[] { "1tpXaFf2F55E7kVJON4j4G", "4Z8W4fKeB5YxbusRsdQVPb" }, null, null); string firstTrackName = result.Tracks[0].Name; Trace.WriteLine($"First recommendation = {firstTrackName}"); // Page through a list of tracks in a Playlist var playlists = new PlaylistsApi(http, accounts); int limit = 100; PlaylistPaged playlist = await playlists.GetTracks("4h4urfIy5cyCdFOc1Ff4iN", limit : limit); int offset = 0; int j = 0; // using System.Linq while (playlist.Items.Any()) { for (int i = 0; i < playlist.Items.Length; i++) { Trace.WriteLine($"Track #{j += 1}: {playlist.Items[i].Track.Artists[0].Name} / {playlist.Items[i].Track.Name}"); } offset += limit; playlist = await playlists.GetTracks("4h4urfIy5cyCdFOc1Ff4iN", limit : limit, offset : offset); } }