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 GetFeaturedPlaylists_Limit2_ItemsLength2() { // arrange var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); // act var response = await api.GetFeaturedPlaylists(country : SpotifyCountryCodes.New_Zealand, limit : 2); Assert.AreEqual(2, response.Items.Length); }
public async Task GetCategories_Limit2_ItemsLength2() { // arrange var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); // act var response = await api.GetCategories(limit : 2); Assert.AreEqual(2, response.Items.Length); }
public async Task GetCategoryPlaylists_FromFirstNZCategoryLimit2_ItemsLength2() { // arrange var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); var category = (await api.GetCategories(limit: 1, country: SpotifyCountryCodes.New_Zealand)).Items[0]; // act var response = await api.GetCategoryPlaylists(category.Id, country : SpotifyCountryCodes.New_Zealand, limit : 2); Assert.AreEqual(2, response.Items.Length); }
public async Task GetCategory_FromNZCategories_SameCategoryHref() { // arrange var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); var category = (await api.GetCategories(limit: 1, country: SpotifyCountryCodes.New_Zealand)).Items[0]; // act var response = await api.GetCategory(category.Id, country : SpotifyCountryCodes.New_Zealand); Assert.AreEqual(category.Href, response.Href); }
public async Task GetNewReleases_NoParams_NoError() { // arrange var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); // act var response = await api.GetNewReleases(); string name = response.Items[0].Name; Trace.WriteLine(name); }
public async Task GetAvailableGenreSeeds_NoParams_NoError() { // arrange var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); // act var response = await api.GetAvailableGenreSeeds(); string name = response[0]; Trace.WriteLine(name); }
public async Task GetRecommendations_SeedArtists_NoError() { // arrange string[] seedArtists = new[] { "1tpXaFf2F55E7kVJON4j4G", "4Z8W4fKeB5YxbusRsdQVPb" }; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); // act var response = await api.GetRecommendations(seedArtists, null, null); string name = response.Tracks[0].Name; Trace.WriteLine(name); }
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); } }
public async Task GetRecommendations_SeedArtists_NoError() { // arrange string[] seedArtists = new[] { "1tpXaFf2F55E7kVJON4j4G", "4Z8W4fKeB5YxbusRsdQVPb" }; var config = new ConfigurationBuilder() .SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "..\\..\\..")) .AddJsonFile("appsettings.local.json", false) .Build(); var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); // act var response = await api.GetRecommendations(seedArtists, null, null); string name = response.Tracks[0].Name; Trace.WriteLine(name); }
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); var 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); var result = await browse.GetRecommendations(new[] { "1tpXaFf2F55E7kVJON4j4G", "4Z8W4fKeB5YxbusRsdQVPb" }, null, null); string firstTrackName = result.Tracks[0].Name; Trace.WriteLine($"First recommendation = {firstTrackName}"); }