我知道如何通过Facebook API获取某人的缩略图,但是如何获得该人的完整个人资料?这样做需要什么权限?
答案 0 :(得分:4)
将type=large
附加到查询字符串。例如https://graph.facebook.com/100/picture?type=large
答案 1 :(得分:1)
无法通过用户的图片连接检索完整的个人资料图片(https:// UID /图片?type = large只会返回大约200x200的图片)。
要获取存储在Facebook上的最大版本的个人资料图片,您需要访问该用户的个人资料相册。这需要user_photos权限。
可以通过遍历相册来查找完整的个人资料图片,查找具有“个人资料”类型的相册,然后获取其封面页:
public function getProfilePictureMaxUrl($facebook,$uid,$userAccessToken) {
$params = array('access_token' => $userAccessToken);
$r = $facebook->api('/'.$uid.'/albums',$params);
foreach ($r['data'] as $album) {
if ($album['type'] == 'profile') {
//retrieve information about this album
$r = $facebook->api('/'.$album['id'],$params);
$pid = ($r['cover_photo']);
//retrieve information about this photo
$r = $facebook->api('/'.$pid,$params);
return $r['source'];
}
}
//Profile folder not found (could be because of paging)
error_log('Failed to retrieve profile folder for uid '.$uid);
return false;
}