我在一个使用PHP SDK的网站上工作,以获取用户信息,包括用户图片 . 当我得到一些流量时 {user-id}/picture
停止工作 . 当我有良好的流量时,我得到了来自Facebook的空响应 . 通过null响应我的意思是他们什么都不返回只是一个空白页面 .
Facebook表示他们不允许使用PHP来保存图像 .
一般的想法是,您不应该将配置文件图片下载到服务器,例如使用PHP代码 . 相反,您应该获取图片的URL(例如,从重定向 Headers )并在客户端使用图像标记显示它
但是像nametests(dot)这样的大型网站以某种方式设法获得了用户身份 .
这是我用来获取 Profiles 图片的示例代码(至少在它工作时)
function get_file($url) {
//$url=$url."&token=".$this->token;
$options = array(
'http' => array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n".
"User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2\r\n"
)
);
$context = stream_context_create($options);
$data = "";
$data = @file_get_contents($url, false, $context);
return $data;
}
$im = get_file("http://graph.facebook.com/897924100371841/picture");
echo $im;
1 回答
我在回答我自己的问题 . 似乎Facebook是限速配置文件图片 . 所以在一些请求之后它返回null