Exemplo n.º 1
0
        private async Task <PlaylistTracks> GetTracks(string token, string playlistid)
        {
            var request = new HttpRequestMessage(HttpMethod.Get, $"https://api.spotify.com/v1/browse/categories/{playlistid}/playlists");

            request.Headers.Add("Authorization", $"Bearer {token}");

            var client   = ClientFactory.CreateClient();
            var response = await client.SendAsync(request);

            if (response.IsSuccessStatusCode)
            {
                var json = await response.Content.ReadAsStringAsync();

                var playlists = Playlists.FromJson(json);
                var firstList = playlists.PlaylistsPlaylists.Items.FirstOrDefault();
                if (firstList != null)
                {
                    request = new HttpRequestMessage(HttpMethod.Get, firstList.Tracks.Href);
                    request.Headers.Add("Authorization", $"Bearer {token}");
                    response = await client.SendAsync(request);

                    json = await response.Content.ReadAsStringAsync();

                    return(PlaylistTracks.FromJson(json));
                }

                return(null);
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
            {
                throw new SpotifyTokenExpiredException();
            }
            else
            {
                throw new ApplicationException(response.StatusCode.ToString());
            }
        }
Exemplo n.º 2
0
 void Start()
 {
     _playlistsView.Playlists        = Playlists.FromJson(_playlistsJson);
     SelectedScreenState.ScreenState = ScreenState.Playlists;
 }