private async Task <string> GetToken() { var requestToken = HttpRequestToken.Build(_spotifySettings.TokenUrl, _spotifySettings.ClientId, _spotifySettings.ClientSecret); var response = await _httpService.GetTokenBasic(requestToken); if (!response.IsSuccess()) { Response.BuildInternalServerError(); } var valueToken = _jsonService.DeserializeObject <SpotifyToken>(response.GetDataString()); return(valueToken.access_token); }
private async Task <string> GetToken() { var requestToken = HttpRequestToken.Build(_spotifySettings.TokenUrl, _spotifySettings.ClientId, _spotifySettings.ClientSecret); var response = await _httpHandle.GetTokenBasic(requestToken); if (!response.IsSuccess()) { HttpException.ThrowGetTokenException(_spotifySettings.TokenUrl, (int)response.StatusCode); } var valueToken = _jsonHandle.DeserializeObject <SpotifyToken>(response.GetDataString()); return(valueToken.access_token); }
public async Task <HttpResponse> GetTokenBasic(HttpRequestToken requestToken) { string clientId = requestToken.ClientId; string clientSecret = requestToken.ClientSecret; string credentials = String.Format("{0}:{1}", clientId, clientSecret); try { using (var client = new HttpClient()) { //Define Headers client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes(credentials))); //Prepare Request Body List <KeyValuePair <string, string> > requestData = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("grant_type", "client_credentials") }; FormUrlEncodedContent requestBody = new FormUrlEncodedContent(requestData); //Request Token var request = await client.PostAsync(requestToken.Url, requestBody); var response = await request.Content.ReadAsStringAsync(); return(HttpResponse.Build(request.StatusCode, response)); } } catch (Exception ex) { return(HttpResponse.Build(HttpStatusCode.InternalServerError, ex)); } }