0

我可以通过id像这样访问用户,使用图形 api 从 FB 访问我的用户图像:
https://graph.facebook.com/<USER_ID>/picture

但是,为了使我的代码正常工作,我需要图像的真实路径,如
http://profile.ak.fbcdn.net/hprofile-ak-snc6/******_**************_********_q.jpg

FBs doc显示,通过添加?callback=foo我可以获得输出,但是在练习它似乎不起作用。任何有关从或 使用该扩展名

获取我的图像的完整路径的建议,谢谢。.jpggraph apiuser id

4

2 回答 2

2

回调用于 javascript 请求,

对于 php,请尝试redirect=false在 url 中附加一个。

做一个 curl 请求,

https://graph.facebook.com/shaverm/picture?redirect=false

如果你想在 js 中使用回调,

$.getJSON('https://graph.facebook.com/zuck/picture?callback=?',function (resp) {
    $('body').html(resp.data.url);
});​

演示

参考

于 2012-11-21T03:47:44.393 回答
1

*使用以下方法,您永远不会得到错误的结果 *

$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, "&");//many time you got in url
    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);
于 2013-06-22T10:23:45.200 回答