1. ホーム
  2. c#

[解決済み】httpClient.GetAsync使用時のヘッダ追加について

2022-04-06 07:07:20

質問

Apiary.ioを使って他の同僚が作ったAPIを、Windowsストアアプリのプロジェクトで実装しています。

私が実装しなければならないメソッドの例として、このようなものが示されています。

var baseAddress = new Uri("https://private-a8014-xxxxxx.apiary-mock.com/");

using (var httpClient = new HttpClient{ BaseAddress = baseAddress })
{
    using (var response = await httpClient.GetAsync("user/list{?organizationId}"))
    {
        string responseData = await response.Content.ReadAsStringAsync();
    }
}

このメソッドと他のいくつかのメソッドでは、私は前に取得したトークンを持つヘッダを持つ必要があります。

以下は、私が話しているヘッダを持つPostman(chrome拡張機能)の画像です。

そのAuthorizationヘッダーをリクエストに追加するにはどうすればよいですか?

どのように解決するのですか?

HttpClientでGetAsyncを使用する場合、以下のようにauthorizationヘッダーを追加することができます。

httpClient.DefaultRequestHeaders.Authorization 
                         = new AuthenticationHeaderValue("Bearer", "Your Oauth token");

これは、HttpClient の有効期間中、authorization ヘッダを追加するもので、authorization ヘッダが変更されないようなサイトにアクセスする場合に有用です。

以下はSOの詳細です。 回答