我在一个使用PHP SDK的网站上工作,以获取用户信息,包括用户图片。
当我获得一些流量时{user-id}/picture
停止工作。
当我有良好的流量时,我得到了来自Facebook的空响应。
通过null响应我的意思是他们什么都不返回只是一个空页。
Facebook表示他们不允许使用PHP来保存图像。
一般的想法是你不应该下载个人资料图片 您的服务器,例如使用PHP代码。相反,你应该得到 图片的URL(例如来自重定向标题)和显示 它使用客户端的图像标签
但像nametests(dot)这样的大型网站以某种方式设法获得用户身份。
以下是我用于获取个人资料图片的示例代码(至少在工作时)
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;
答案 0 :(得分:0)
我正在回答我自己的问题。 似乎Facebook是限速配置文件图片。 所以在一些请求之后它返回null