2016-04-22 11 views
2

私はapiでビットマップをダウンロードするためにpicasso 2.5.2ライブラリを使用しています。ヘッダーに基本認証を渡す必要があります。Picasa 2.5.2でBasic認証をOkHttp 3.2.0で追加する方法

私は以下のSOアンサーを試しましたが、最新のピカソとOkHttpライブラリでは動作しませんでした。事前に

Answer - 1

Answer - 2

Answer - 3

enter image description here

感謝。

+0

からOkHttp3Downloaderを得ることができますe?あなたは[Retrofit docs](https://futurestud.io/blog/android-basic-authentication-with-retrofit)を調べましたか? 'Retrofit2.Builder()'には、おそらくあなたが探しているものである 'authorization'というプロパティがあります。 – yennsarah

+1

私はretrofit rest api呼び出しで基本認証を追加するのではなく、画像をダウンロードするためにpicassoで基本認証を追加する必要があります。 – darwin

+0

提供されたリンクの5秒のように見える場合、あなたは 'okhttp3'クライアントの変更を設定する方法を見つけたでしょう。 – yennsarah

答えて

5

あなたのスキームや状況に応じて、オーセンティケータとOkHttp3クライアントを設定してみてください、そして、

OkHttpClient okHttpClient = new OkHttpClient.Builder() 
      .authenticator(new Authenticator() 
       { 
        @Override 
        public Request authenticate(Route route, Response response) throws IOException 
        { 
         String credential = Credentials.basic("user", "pass"); 
         return response.request().newBuilder() 
           .header("Authorization", credential) 
           .build(); 
        } 
       }) 
      .build(); 

あなたのピカソのオブジェクトを形成する際に、そのクライアントを使用していますが、同様に、代わりにOkHttp3Downloaderを使用する必要がありますokhttp3とそう: - あなたがauthenticatしたいですか

Picasso picasso = new Picasso.Builder(context) 
     .downloader(new OkHttp3Downloader(okHttpClient)) 
     .build(); 

あなたはあなたのコードを追加してくださいhttps://github.com/JakeWharton/picasso2-okhttp3-downloader

+0

Okey、私はこれを試し、あなたの素早い応答とコードスニペットのおかげで、どんなやりかたもありがとう。 – darwin

+0

パーフェクト...チャームのように動作します... OkHttp3Downloaderの依存関係が成功への鍵です。 – darwin

+0

ニース、うまくいきます! –

関連する問題