На Postman я успешно разместил запрос со следующими параметрами:
Когда я пытаюсь сделать запрос с помощью C#, я получаю несанкционированную ошибку, возможно, потому, что не могу передать значение ключа через запрос.
Вот код, который я использую:
ClientAPI = new HttpClient();
ClientAPI.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key", "api_token=00000000000000000000000000000000");
Я уже пробовал:
ClientAPI.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key", "00000000000000000000000000000000");
или:
ClientAPI.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key", "=00000000000000000000000000000000");
но я всегда получаю несанкционированную ошибку. Я думаю, это потому, что я отправляю этот ключ в заголовок, но я заметил, что в Postman комбинация Add to заполнена Query Params. Если я выберу Header в этом комбо, я также получу несанкционированную ошибку на Postman.
Это причина? Если да, то как мне решить проблему с C#?





Вы можете попробовать нажать «код» рядом с правой панелью.
Добавьте api_token для запроса параметров, а не в заголовки.
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());
В случае POST строка запроса не передается.
Это
new AuthenticationHeaderValue("api_token", "00000000000000000000000000000000")произведетAuthorization: api_token 00000000000000000000000000000000