Как получить изображение профиля в facebook пользователя в facebook SDK 3.0 Android
Я использую facebook SDK 3.0, мне нужно получить изображение профиля пользователя.
Вот код, который я использую:
URL image_value = new URL("http://graph.facebook.com/"+id+"/picture" );
profPict=BitmapFactory.decodeStream(image_value.openConnection().getInputStream());
Но я не получаю желаемого результата.
Ответы
Ответ 1
Вы должны изменить свой код следующим образом:
URL image_value = new URL("http://graph.facebook.com/"+id+"/picture" );
Возможные параметры GET для URL-адреса можно найти здесь:
https://developers.facebook.com/docs/graph-api/reference/user/picture/
Ответ 2
Используйте https:// вместо http://. Я столкнулся с той же проблемой.
URL image_value = new URL("https://graph.facebook.com/"+id+"/picture" );
profPict = BitmapFactory.decodeStream(image_value.openConnection().getInputStream());
Ответ 3
Если вы пытаетесь отобразить профиль pic в своем приложении, используйте ProfilePictureView
из SDK для Facebook.
Обратитесь к этому
Просто назовите setProfileId(String profileId)
на нем.
Он позаботится о отображении изображения.
Ответ 4
String id = user.getId();
try {
URL url = new URL("http://graph.facebook.com/"+ id+ "/picture?type=large");
String image_path = uri.toString();
System.out.println("image::> " + image_path);
}
catch (MalformedURLException e) {
e.printStackTrace();
}
Ответ 5
Используйте ProfilePictureView
из facebook sdk.
Ответ 6
Вы можете сделать что-то вроде этого внутри потока:
String url = "http://graph.facebook.com/"+id+"/picture";
HttpConnection conn = new HttpConnection(url);
conn.openConnection();
Drawable d = Drawable.createFromStream(new BufferedInputStream(conn.getInputStream()), "image");
conn.close();
Надеюсь, это поможет вам.
Ответ 7
попробуйте это.
try {
imageURL = new URL("https://graph.facebook.com/" +
id+ "/picture?type=large");
Log.e("URL", imageURL.toString());
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
try {
bitmap = BitmapFactory.decodeStream(imageURL
.openConnection().getInputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ProfileDp.setImageBitmap(bitmap);
Ответ 8
Как только ваша учетная запись facebook войдет в приложение, просто выполните:
String url = Profile.getCurrentProfile().getProfilePictureUri(x, y).toString();
x и y - ширина и высота.
См. документ: https://developers.facebook.com/docs/reference/android/current/class/Profile/