我正在编写使用facebook api的Android应用程序,我需要我的应用程序可以检索用户个人资料图片。
这是我目前的权限:
fb_login_button.setReadPermissions(Arrays.asList("public_profile", "user_friends"));
但我没有在文档中看到任何获取用户个人资料图片的权限,但只有访问所有图片的权限(我对它不感兴趣)。 因此,现在无需任何许可即可访问个人资料图片
答案 0 :(得分:3)
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);
答案 1 :(得分:1)
您不需要任何特殊许可即可获取个人资料照片。使用权限" public_profile"你可以获得用户的身份证明。如果您有用户ID,则可以使用图形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中将给出用户的个人资料图片。 您也可以使用它而无需重新校正。