Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
            }
        }