![](/img/trans.png)
[英]get facebook user-id/username to fetch profile picture without Facebook SDK? PHP
[英]Get Facebook profile picture via PHP (user-id)/picture
我在一個使用PHP SDK來獲取用戶信息(包括用戶圖片)的網站上工作。 當我得到一些流量時, {user-id}/picture
停止工作。 當我的流量很好時,我收到來自Facebook的空響應。 空響應是指它們什么也不返回。 只是一個空白頁。
Facebook說,他們不允許使用PHP保存圖像。
通常的想法是,您不應該例如通過使用PHP代碼將個人資料圖片下載到服務器。 相反,您應該獲取圖片的URL(例如,從重定向標頭中獲取)並在客戶端使用image標簽顯示它
但是像nametests(dot)com這樣的大型網站以某種方式設法獲得了用戶圖片。
這是我用來獲取個人資料圖片的示例代碼(至少在工作時)
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;
我在回答我自己的問題。 看來Facebook正在限制個人資料圖片的速度。 因此,在許多請求之后,它返回null
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.