Получить изображение профиля из Facebook Graph-API

этот метод получения фото профиля facebook больше не работает

ImageView user_picture;
 userpicture=(ImageView)findViewById(R.id.userpicture);
 URL img_value = null;
 img_value = new URL("http://graph.facebook.com/"+id+"/picture?type=large");
 Bitmap mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
userpicture.setImageBitmap(mIcon1);

mIcon1 имеет значение NULL

он работал нормально, но не сейчас, и я думаю, что facebook что-то изменил, когда я проверяю URL-адрес, который перенаправляет на другой URL-адрес

http: //graph.facebook.com/"id example (2154847) "/ picture? type = large ---> https: // fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/t1.0 - 1 / s200x200 / 1480603_10201506903424508_71775 13962104534241_n.jpg

Изменить решение:

 public Bitmap getPhotoFacebook(final String id) {

    Bitmap bitmap=null;
    final String nomimg = "https://graph.facebook.com/"+id+"/picture?type=large";
    URL imageURL = null;

    try {
        imageURL = new URL(nomimg);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }

    try {
        HttpURLConnection connection = (HttpURLConnection) imageURL.openConnection();
        connection.setDoInput(true);
        connection.setInstanceFollowRedirects( true );
        connection.connect();
        InputStream inputStream = connection.getInputStream();
        //img_value.openConnection().setInstanceFollowRedirects(true).getInputStream()
        bitmap = BitmapFactory.decodeStream(inputStream);

    } catch (IOException e) {

        e.printStackTrace();
    }
    return bitmap;

}

person toufik3119    schedule 07.05.2014    source источник


Ответы (2)


Попробуй это:

img_value.openConnection().setInstanceFollowRedirects(true).getInputStream()
person Fosco    schedule 07.05.2014

Попробуй это:

public static Bitmap getFacebookProfilePicture(String userID){
    URL imageURL = new URL("https://graph.facebook.com/" + userID + "/picture?type=large");
    Bitmap bitmap = BitmapFactory.decodeStream(imageUrl.openConnection().getInputStream());

    return bitmap;
}

Bitmap bitmap = getFacebookProfilePicture(userId);

Убедитесь, что вы используете https вместо http.

person Jorge E. Hernández    schedule 15.05.2014