我可以通过访问用户id
从图形API访问我的用户图像,如下所示:
https://graph.facebook.com/<USER_ID>/picture
但是,为了使我的代码能够工作,我需要像http://profile.ak.fbcdn.net/hprofile-ak-snc6/******_**************_********_q.jpg
这样的图像的真实路径
FBs doc表明通过添加?callback=foo
我可以获得输出,但实际上它似乎无法正常工作。
有关使用.jpg
或graph api
的{{1}}扩展程序获取图片完整路径的任何建议,谢谢。
答案 0 :(得分:2)
回调是针对javascript请求的,
对于php,请尝试在网址中附加redirect=false
。
执行卷曲请求,
https://graph.facebook.com/shaverm/picture?redirect=false
如果你想在js中使用回调,
$.getJSON('https://graph.facebook.com/zuck/picture?callback=?',function (resp) {
$('body').html(resp.data.url);
});
答案 1 :(得分: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);