【问题标题】:Facebook Graph API will not give me picture dataFacebook Graph API 不会给我图片数据
【发布时间】:2011-02-28 01:21:29
【问题描述】:

使用 PHP 5.2.11 和新的 facebook 图形代码...

如果我打电话

$facebook->api("/me");

我得到了正确的回应:

array
  'id' => string '10700210' (length=8)
  'name' => string 'Brandon Renfrow' (length=19)
  'first_name' => string 'Brandon' (length=7)
  'middle_name' => string '✫' (length=3)
  'last_name' => string 'Renfrow' (length=7)
  'link' => string 'http://www.facebook.com/brenfrow' (length=32)
  'about' => string 'Spiritual birthday: 1/22/2005' (length=29)
  ...
  ...

但是如果我打电话

$facebook->api("/me/picture");

我总是得到以下回复:

null

有人知道这是为什么吗?

【问题讨论】:

    标签: php facebook graph


    【解决方案1】:

    我刚刚在浏览器中访问了我的“/me/picture”,它会将我重定向到 Facebook 的 CDN 服务器之一上的静态图像。也许重定向在您的 api 调用中引发了麻烦。

    【讨论】:

      【解决方案2】:

      好吧,我想我找到的最佳答案是致电http://graph.facebook.com/USER_ID?fields=picture 以获取图片 URL。糟糕的是,他们没有在他们的 API 上记录这样的事情,尤其是当它明显被这么多人破坏时。

      【讨论】:

      • 感谢您解决这个问题。 Facebook Graph API 可能是我曾经使用过的设计最差、文档记录更差的 API 之一。
      【解决方案3】:

      还有一种更简单的方法,使用提供的 facebook api,只需调用:

      $facebook->api("/me?fields=picture");

      这将使您的代码更简单、更优雅。

      【讨论】:

        【解决方案4】:

        作为betamananswer 的补充,您可以像这样在单独的数组中传递参数:

        $aResponse = $oFacebook->api('/me', array(
            'fields' => 'picture',
            'type' => 'large'
        ));
        

        【讨论】:

        • 它只会返回小图像。
        • 那一定是新的。当我发布这篇文章时,它确实是这样工作的。
        • 是的,它是新的。检查developers.facebook.com/bugs/129804577163441。现在你必须像这样指定类型:'fields' => 'picture.type(normal)'
        【解决方案5】:

        您甚至可能不需要进行 API 调用...在您的前端使用它:

        <img src="//graph.facebook.com/USER_ID/picture?type=square" />
        

        在此处阅读更多信息:http://developers.facebook.com/docs/reference/api/#pictures

        【讨论】:

        • 我今天刚刚随机阅读了这篇旧帖子,这是我思考了一段时间的答案
        • 这很好用,但在通过重定向解析图像路径时会增加延迟。
        【解决方案6】:

        在使用 $facebook->api("/me?fields=picture"); 时确实有效,您将无法传递宽度或类型等参数。请尝试以下方法:

        $facebook->api('/me/picture?redirect=false');
        

        这对我有用,也可以让你传递参数。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-04-19
          • 1970-01-01
          • 2011-07-27
          • 1970-01-01
          • 2011-12-12
          • 2012-12-27
          • 2011-11-24
          相关资源
          最近更新 更多