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()); } }
void Start() { _playlistsView.Playlists = Playlists.FromJson(_playlistsJson); SelectedScreenState.ScreenState = ScreenState.Playlists; }