Android: используйте Glide для загрузки URL-адреса фотографии Facebook
Я создаю приложение для Android, в котором я пытаюсь позволить пользователю вводить фотографии из Facebook. После того, как я получаю URL-адреса из GraphRequest, я пытаюсь использовать Glide для загрузки изображения в ImageButton
но я продолжаю получать ошибку D/skia: --- skImageDecoder::Factory returned null
, Вот мой код:
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("link");
Glide.with(UserSettingsActivity.this).load(url).into(userOne);
} catch (Exception e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields","id,photos{link}");
request.setParameters(parameters);
request.executeAsync();
РЕДАКТИРОВАТЬ - Извините, я сразу понял после публикации, что я на самом деле не задавал вопрос. Кто-нибудь знает, как правильно загружать фотографии с Facebook? Спасибо!
1 ответ
Я смог решить проблему, переключившись photos{link}
в photos{source}
который возвращает фактические исходные URL. Вот пересмотренный код:
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();