簡體   English   中英

通過PHP獲取Facebook個人資料圖片(用戶ID)/圖片

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM