Разрешение приложения Facebook для Android: попросите получить изображение профиля пользователя

Я пишу приложение для Android, которое использует facebook api, и мне нужно, чтобы мое приложение могло получать изображение профиля пользователя.

Это мои текущие разрешения:

fb_login_button.setReadPermissions(Arrays.asList("public_profile", "user_friends"));

но я не вижу в документации никакого разрешения на получение изображения профиля пользователя, а только разрешение на доступ ко ВСЕМ изображениям (мне это не интересно). Итак, изображение профиля теперь доступно без какого-либо разрешения.


person giozh    schedule 24.07.2014    source источник


Ответы (2)


Разрешение public_profile также дает вам изображение профиля.

Вот как вы получите изображение профиля

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

См.: Android - получить изображение профиля facebook

person Jazib    schedule 24.07.2014
comment
Итак, если у меня есть идентификатор пользователя (содержится в информации public_profile), могу ли я получить изображение профиля также не из приложения для Android (например, из php-скрипта)? - person giozh; 24.07.2014
comment
Да, если у вас есть идентификатор пользователя. Вы можете получить изображение профиля. - person Jazib; 24.07.2014
comment
Это ненадежный метод, вместо этого используйте FQL, язык запросов facebook. Я использовал то же самое, и это не сработает, как только ребята из fb обновят свою безопасность ... У меня это работало раньше, затем не показывало изображение, затем мне пришлось переключиться на fql ... Или другой вариант - используйте FacebookProfilePicView из Facebook SDK. - person Kailas; 24.07.2014

Вам не нужно никакого специального разрешения, чтобы получить изображение профиля. Используя разрешение «public_profile», вы можете получить идентификатор пользователя. если у вас есть идентификатор пользователя, вы можете получить изображение профиля с помощью графического API следующим образом.

http://graph.facebook.com/user_id/picture?type=square&redirect=false

если вы используете redirect=false, вы получите json следующим образом.

{
   "data": {
      "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xaf1/t1.0-1/c92.62.775.775/s50x50/564992_463610327023364_1165619683_n.jpg",
      "is_silhouette": false
   }
}

«URL» в json даст изображение профиля пользователя. Вы также можете использовать его без перенаправления.

person JIthin    schedule 24.07.2014