public async Task <string> GetToken(ISpotifyTokenRequest req) { try { string access_token = ""; using (var http = new HttpClient()) { http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", req.ToAuthorization()); Dictionary <string, string> dict = new Dictionary <string, string>(); dict.Add("grant_type", req.GetGrantType()); FormUrlEncodedContent content = new FormUrlEncodedContent(dict); HttpResponseMessage request = await http.PostAsync(_config["Spotify:TokenURI"], content); Task <string> response = request.Content.ReadAsStringAsync(); if (response.IsCompleted) { resp = response.Result.JsonToObject <SpotifyTokenResponse>(); access_token = resp.access_token; } return(access_token); }; } catch (Exception ex) { Console.WriteLine(ex.Message); throw; } }
public void PrepareEnvironment() { // Inicializa tabela de cashback _cashbackService.InitializeCashbackDatabase(); // incializa classe de serviços spotifyService = _factory.GetSpotifyService(); // recupera valores do arquivo appsettings.json para requisitar token tokenRequest = _factory.GetSpotifyTokenRequest(); // recupera o token através da API do Spotify string access_token = spotifyService.GetToken(tokenRequest).Result; // obtém lista de álbuns da API do Spotify List <Album> list = spotifyService.GetAlbums(access_token); // insere dados no BD _albumService.AddAlbumsToDatabase(list); }
public SpotifyFactory(ISpotifyTokenRequest tokenRequest, ISpotifyService service) { _tokenRequest = tokenRequest; _service = service; }