Вызов API, защищенного OAuth, в. NET Core - PullRequest
0 голосов
/ 21 июня 2020

Пытаюсь вызвать https://developers.amadeus.com/ API. Я получил свой ключ API и секрет. Когда я создаю запрос GET на их веб-странице, я получаю свой токен доступа для этого вызова. Теперь, если я понял это правильно, мне нужно использовать этот токен для доступа к этому вызову GET. Я использовал Postman, чтобы проверить это и правильно. Предоставление URL-адреса и токена доступа создает ответ JSON от их сервера.

Теперь я хочу воспроизвести это в моем. NET основном веб-приложении.

Я использую этот HttpClientExtensions класс для вызовите API.

public static class HttpClientExtensions
{
    public static async Task<TResponse> GetFromJsonAsync<TResponse>(this HttpClient client, string url)
    {
        var response = await client.GetAsync(url);
        var content = await response.Content.ReadAsStringAsync();
        return JsonConvert.DeserializeObject<TResponse>(content);
    }
}

Это мой HomeController и его Index метод:

 [HttpGet]
    public IActionResult Index()
    {

        using (var client = new HttpClient())
        {
            var model = client.GetFromJsonAsync<Flight>("https://test.api.amadeus.com/v2").Result;
            return View(model);
        }

Чтобы использовать токен доступа, я читал в Google, который мне нужен для настройки AuthenticationScheme. Я ничего не знаю обо всем этом, поскольку я начал изучать API примерно в день go. Я наткнулся на это руководство ASP. NET Core Token Authentication и попробую с этим дальше.

Буду признателен, если кто-нибудь может мне немного помочь или объяснить мне этот материал .

1 Ответ

0 голосов
/ 25 июня 2020

Если вы заставите его работать в Postman, вы можете использовать его встроенную функцию для генерации кода, чтобы получить некоторые подсказки о том, как вы должны реализовать его в C#.

См. Эту ссылку Создание фрагментов кода в Postman

...