通过PHP(用户ID)/图片获取Facebook个人资料图片

时间:2018-05-09 17:29:47

标签: php facebook facebook-graph-api facebook-php-sdk

我在一个使用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;

1 个答案:

答案 0 :(得分:0)

我正在回答我自己的问题。 似乎Facebook是限速配置文件图片。 所以在一些请求之后它返回null