|
|
|
|
|
|
|
|
string url = "https://accounts.spotify.com/api/token"; |
|
|
string url = "https://accounts.spotify.com/api/token"; |
|
|
http.BaseAddress = new Uri(url); |
|
|
http.BaseAddress = new Uri(url); |
|
|
|
|
|
|
|
|
//get client id and secret from appsettings, convert to base64 and set as header |
|
|
|
|
|
|
|
|
//get client id and secret, and redirect uri from appsettings, convert to base64 and set as header |
|
|
var secrets = await GetAuthParams(); |
|
|
var secrets = await GetAuthParams(); |
|
|
byte[] contentType = Encoding.UTF8.GetBytes($"{secrets.ClientId}:{secrets.ClientSecret}"); |
|
|
byte[] contentType = Encoding.UTF8.GetBytes($"{secrets.ClientId}:{secrets.ClientSecret}"); |
|
|
tokenRequest.redirect_uri = secrets.RedirectURI; |
|
|
tokenRequest.redirect_uri = secrets.RedirectURI; |
|
|
|
|
|
|
|
|
http.DefaultRequestHeaders.Accept.Add( |
|
|
http.DefaultRequestHeaders.Accept.Add( |
|
|
new MediaTypeWithQualityHeaderValue("application/json")); |
|
|
new MediaTypeWithQualityHeaderValue("application/json")); |
|
|
|
|
|
|
|
|
//BODY |
|
|
|
|
|
|
|
|
//BODY PARAMS |
|
|
var requestBody = new Dictionary<string, string>(); |
|
|
var requestBody = new Dictionary<string, string>(); |
|
|
requestBody["grant_type"] = tokenRequest.grant_type; |
|
|
requestBody["grant_type"] = tokenRequest.grant_type; |
|
|
requestBody["code"] = tokenRequest.code!; |
|
|
requestBody["code"] = tokenRequest.code!; |
|
|
requestBody["redirect_uri"] = tokenRequest.redirect_uri!; |
|
|
requestBody["redirect_uri"] = tokenRequest.redirect_uri!; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//REQUEST |
|
|
var response = await http.PostAsync(url, new FormUrlEncodedContent(requestBody)); |
|
|
var response = await http.PostAsync(url, new FormUrlEncodedContent(requestBody)); |
|
|
|
|
|
|
|
|
var contents = JsonConvert.DeserializeObject<TokenResponse>(await response.Content.ReadAsStringAsync()); |
|
|
var contents = JsonConvert.DeserializeObject<TokenResponse>(await response.Content.ReadAsStringAsync()); |