2016-07-13 19 views
0

Ich baue eine Android-App, in der ich versuche, den Benutzer Fotos von Facebook hereinzubringen. Nachdem ich die URLs von einem GraphRequest gepackt habe, versuche ich Glide zu verwenden, um das Bild in eine ImageButton zu laden, aber ich bekomme immer den Fehler D/skia: --- skImageDecoder::Factory returned null. Hier ist mein Code:Android: Verwenden Sie Glide, um Facebook Photo URL zu laden

EDIT - Entschuldigung, ich erkannte direkt nach dem Posten, dass ich nicht wirklich eine Frage gestellt habe. Weiß jemand, wie man Facebook-Fotos richtig lädt? Vielen Dank!

+0

Sind Sie sicher, dass Sie eine legit URL erhalten? Log-URL vor dem Laden. – VM4

+0

Hier ist die URL, die ich zurückbekomme: 'https://www.facebook.com/photo.php?fbid= {IDRemoved} & set = a.1376408195963079.1073741825.100007817346671 & type = 3' – Nick

Antwort

3

Ich war in der Lage, das Problem zu lösen, indem Sie photos{link} zu photos{source} schalten, die die tatsächlichen Quell-URLs zurückgibt. Hier ist der überarbeitete Code:

GraphRequest request = GraphRequest.newMeRequest(
     AccessToken.getCurrentAccessToken(), 
     new GraphRequest.GraphJSONObjectCallback() { 
      @Override 
      public void onCompleted(JSONObject object, GraphResponse response) { 
       try { 
        String url = object.getJSONObject("photos").getJSONArray("data").getJSONObject(0).getString("source"); 
        Glide.with(UserSettingsActivity.this).load(url).into(userOne); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
Bundle parameters = new Bundle(); 
parameters.putString("fields","id,photos{source}"); 
request.setParameters(parameters); 
request.executeAsync();