On Postman
I successfully posted a request with the followiong parameteres:
When I try to make the request with C#
I get an unauthorized error maybe because I can't pass the key value through the request.
Here's the code I'm using:
ClientAPI = new HttpClient();
ClientAPI.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key", "api_token=00000000000000000000000000000000");
I already tried:
ClientAPI.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key", "00000000000000000000000000000000");
or:
ClientAPI.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key", "=00000000000000000000000000000000");
but I always get the unauthorized error. I think is because I'm sending this key on the Header but I noticed that, in Postman
, the combo Add to
is filled with Query Params
. If I select Header
in this combo I also get an unauthorized error on Postman
.
Is this the reason? If so, how do I resolve the problem on C#
?
Add you api_token to request params, not to headers
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https:yourequest_url?api_key=aval");
//if need
request.Headers.Add("Accept", "application/json");
....
//if need
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("p1", "v1"));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());