如何使用图形api获取用户的个人资料图片网址

时间:2011-03-24 10:29:29

标签: php facebook

您好我正在尝试获取用户个人资料图片的网址,因此我使用以下代码

$userinfo = $facebook->api("/me/picture?type=large");
var_dump($userinfo);

但不是返回url而是返回NULL。请帮助我为什么会这样。

谢谢。

2 个答案:

答案 0 :(得分:2)

这就是我们如何获得实际图片网址

$URL='FB GRAPH API URL';
$headers = get_headers($URL, 1); // make link request and wait for redirection
    if(isset($headers['Location'])) {
      $URL = $headers['Location']; // this gets the new url
    }
    $url_arr = explode ('/',$URL);
    $ct = count($url_arr);
    $name = $url_arr[$ct-1];
    $name_div = explode('.', $name);
    $ct_dot = count($name_div);
    $img_type = $name_div[$ct_dot -1];
    $pos = strrpos($img_type, "&");
    if($pos)
    {
        $pieces = explode("&", $img_type);
        $img_type = $pieces[0];

    }

    $imagename = imgnameyouwant'.'.$img_type;
    $content = file_get_contents($URL);
    file_put_contents("fbscrapedimages/$imagename", $content);

答案 1 :(得分:0)

如果你知道[uid],你可以简单地使用以下代码

<img src="http://graph.facebook.com/[UID]/picture" />

您还可以通过提供高度/宽度参数来裁剪/调整个人资料图片的大小。

Eg: https://graph.facebook.com/[UID]/picture?width=140&height=140

如果您想使用标准尺寸,请尝试

<img src="http://graph.facebook.com/[UID]/picture?type=large" />

其中type是{square,small,large}

之一