Esempio n. 1
0
        public List <Item> GetTracks(string genre)
        {
            string token = GetToken();

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(
                $"{BaseUrl}/1/content/music/catalog/tracks/browse?genre={genre}&maxItems=5&extra=Tracks");

            request.Method = WebRequestMethods.Http.Get;
            request.Accept = "application/json";
            request.Headers["Authorization"] = "Bearer " + token;

            string responseJson;

            using (var response = (HttpWebResponse)request.GetResponse())
                using (var sr = new StreamReader(response.GetResponseStream()))
                    responseJson = sr.ReadToEnd();

            TracksRoot tracks    = JsonConvert.DeserializeObject <TracksRoot>(responseJson);
            var        genreList =
                (from track in tracks.Tracks.Items
                 select track)
                .Take(5)
                .ToList();

            return(genreList);
        }
        public List <Track> GetTracks(string genreID)
        {
            string token = GetToken();

            HttpWebRequest playlistRequest = (HttpWebRequest)WebRequest.Create(
                $"{BaseUrl}/v1/browse/categories/{genreID}/playlists?limit=1");

            playlistRequest.Method = WebRequestMethods.Http.Get;
            playlistRequest.Accept = "application/json";
            playlistRequest.Headers["Authorization"] = "Bearer " + token;

            string responseJson;

            using (var response = (HttpWebResponse)playlistRequest.GetResponse())
                using (var sr = new StreamReader(response.GetResponseStream()))
                    responseJson = sr.ReadToEnd();

            PlayLists playList  = JsonConvert.DeserializeObject <PlayLists>(responseJson);
            string    tracksUrl = playList.Playlists.Items.FirstOrDefault()?.Tracks.Href;

            if (string.IsNullOrWhiteSpace(tracksUrl))
            {
                return(new List <Track>());
            }

            HttpWebRequest tracksRequest = (HttpWebRequest)WebRequest.Create(tracksUrl);

            tracksRequest.Method = WebRequestMethods.Http.Get;
            tracksRequest.Accept = "application/json";
            tracksRequest.Headers["Authorization"] = "Bearer " + token;

            using (var response = (HttpWebResponse)tracksRequest.GetResponse())
                using (var sr = new StreamReader(response.GetResponseStream()))
                    responseJson = sr.ReadToEnd();

            TracksRoot tracks = JsonConvert.DeserializeObject <TracksRoot>(responseJson);

            var trackList =
                (from item in tracks.Items
                 select item.Track)
                .Take(5)
                .ToList();

            return(trackList);
        }