Exemplo n.º 1
0
        public HttpResponseMessage Get()
        {
            string artistId = "3zunDAtRDg7kflREzWAhxl";

            //var result = DownloadData<FullArtist>(string.Format("https://api.spotify.com/v1/artists/" + artistId));


            var api = new SpotifyAPI.Web.SpotifyWebAPI()
            {
                AccessToken = this.AccessToken.AccessToken,
                TokenType   = this.AccessToken.TokenType,
                UseAuth     = true
            };

            var artists    = new List <FullArtist>();
            var tenArtists = api.GetFollowedArtists(10);

            artists.AddRange(tenArtists.Artists.Items);
            while (artists.Count < tenArtists.Artists.Total)
            {
                var lastArtistId = artists.Last().Id;
                tenArtists = api.GetFollowedArtists(10, lastArtistId);
                artists.AddRange(tenArtists.Artists.Items);
            }


            var artistsByGenre = new Dictionary <string, List <FullArtist> >();

            foreach (var artist in artists)
            {
                var genresForArtist = artist.Genres.Count == 0 ?
                                      new List <string> {
                    "Unknown genre"
                } :
                artist.Genres;

                addArtistToCollection(genresForArtist, artist, artistsByGenre);
            }


            return(this.Request.CreateResponse(HttpStatusCode.OK, artistsByGenre));
        }