首页 文章

通过PHP(用户ID)/图片获取Facebook Profiles 图片

提问于
浏览
0

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

  • 0

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

相关问题