Как добавить ключ API в заголовок запроса с помощью веб-API - PullRequest
0 голосов
/ 30 ноября 2018

Привет, ребята, я впервые использую веб-API, и я надеюсь, что вы можете указать мне правильное направление.Как добавить ключ API в заголовок запроса с помощью веб-API?

Я пытался проверить Google, но я не уверен, что смотрю на нужное руководство.Вот что я нашел> Как добавить и получить значения заголовка в WebApi

Моя цель - сделать запрос GET и добавить ключ API в заголовки запроса.

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

У вас всегда есть пара ключ-значение в заголовке любого запроса API.Например, здесь у вас есть заголовок с ключом «api_key» и значением «1234».Вы можете добавить это в свой запрос Http способом, приведенным ниже.

    HttpClient httpClient = new HttpClient();
    HttpRequestMessage request = new HttpRequestMessage();
    request.RequestUri = "Your_get_URI";
    request.Method = HttpMethod.Get;
    request.Headers.Add("api_key", "1234");
    HttpResponseMessage response =  await httpClient.SendAsync(request);
    var responseString = await response.Content.ReadAsStringAsync();
    var statusCode = response.StatusCode;
0 голосов
/ 30 ноября 2018

Попробуйте, надеюсь, это сработает для вас.

            using (var httpClient = new HttpClient())
            {
                httpClient.BaseAddress = new Uri("API URL");
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Authorization = new
                    System.Net.Http.Headers.AuthenticationHeaderValue("Pass your token value or API key");
                HttpResponseMessage response = await httpClient.GetAsync(endpoint);
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    string result = await response.Content.ReadAsStringAsync();
                    if (string.IsNullOrEmpty(result))
                        return "Success";
                    else
                        return result;
                }
                else if (response.StatusCode == HttpStatusCode.Unauthorized)
                {
                    throw new UnauthorizedAccessException();
                }
                else
                {
                    throw new Exception(await response.Content.ReadAsStringAsync());
                }
            }
...