Facebook Profile Pic API - 获取某人的完整照片

时间:2011-07-29 02:08:28

标签: facebook

我知道如何通过Facebook API获取某人的缩略图,但是如何获得该人的完整个人资料?这样做需要什么权限?

2 个答案:

答案 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; 
}