22

HTTPURLConnection次のような通常のリクエストで Auth ヘッダーを設定できます。

URL url = new URL(source);  
HttpURLConnection connection = this.client.open(url);  
connection.setRequestMethod("GET");  
connection.setRequestProperty("Authorization", "Bearer " + token);  

これは HttpURLConnection の標準です。上記のコード スニペットthis.clientは、Square のインスタンスですOkHTTPClient( here )。

OkHTTP認証ヘッダーを設定する特定の方法があるかどうか疑問に思っていますか? クラスを確認しましたOkAuthenticatorが、正確な使用方法が明確ではありません / 認証チャレンジのみを処理しているようです。

ご指摘ありがとうございます。

4

2 に答える 2

17

現在のバージョン (2.0.0) を使用している場合は、リクエストにヘッダーを追加できます。

Request request = new Request.Builder()
            .url("https://api.yourapi...")
            .header("ApiKey", "xxxxxxxx")
            .build();

使用する代わりに:

connection.setRequestMethod("GET");    
connection.setRequestProperty("ApiKey", "xxxxxxxx");

ただし、古いバージョン(1.x)の場合、使用する実装がそれを実現する唯一の方法だと思います。彼らの変更ログが言及しているように:

バージョン 2.0.0-RC1 2014-05-23

それぞれ独自のビルダーを持つ新しいリクエストとレスポンスのタイプ。リクエスト本文をネットワークに書き込む RequestBody クラスと、ネットワークからレスポンス本文を読み取る ResponseBody クラスもあります。スタンドアロンの Headers クラスは、HTTP ヘッダーへのフル アクセスを提供します。

于 2014-07-29T21:10:20.323 に答える