2016-04-22 7 views
2

Ich benutze die Picasso 2.5.2 Bibliothek, um die Bitmap zu downloaden, also in der API muss ich die Standardauthentifizierung in den Überschriften übergeben.Wie man grundlegende Authentifizierung in Picasso 2.5.2 mit OkHttp 3.2.0 hinzufügt

Ich habe versucht die folgenden SO Ansers, aber keiner von ihnen funktioniert mit den neuesten Picasso und OkHttp-Bibliotheken.

Answer - 1

Answer - 2

Answer - 3

enter image description here

Vielen Dank im Voraus.

+0

Bitte fügen Sie Ihren Code erhalten - wie wollen Sie authenticat e? Haben Sie sich die [Retrofit docs] (https://futurestud.io/blog/android-basic-authentication-with-retrofit) angesehen. 'Retrofit2.Builder()' hat eine Eigenschaft namens 'authorization', die Sie wahrscheinlich suchen. – yennsarah

+1

Ich bin nicht auf der Suche nach Basisauthentifizierung mit Retrofit Ruhe API Anrufe, ich muss grundlegende Authentifizierung mit Picasso zum Herunterladen von Bildern hinzufügen. – darwin

+0

Wenn Sie im angegebenen Link 5 Sekunden lang aussahen, hätten Sie eine Möglichkeit gefunden, eine 'okhttp3'-Client-Änderung zu konfigurieren. – yennsarah

Antwort

5

Versuchen Sie, ein OkHttp3 Client mit Authenticator konfigurieren, je nach Schema und Situation:

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(); 

Dann verwenden Sie diesen Client Ihr Picasso Objekt bei der Bildung, aber mit okhttp3 wird stattdessen eine OkHttp3Downloader verwenden müssen, wie so:

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

Sie können die OkHttp3Downloader von https://github.com/JakeWharton/picasso2-okhttp3-downloader

+0

Okey, ich werde dies versuchen und informieren Sie so schnell wie möglich, vielen Dank für Ihre schnelle Antwort und Code-Snippet. – darwin

+0

Perfekt ... funktioniert wie Charme ... OkHttp3Downloader Abhängigkeit ist der Schlüssel zum Erfolg .. – darwin

+0

Nizza, kann es funktionieren! –