【问题标题】:How to get a real-size profile picture from a user?如何从用户那里获取真实大小的个人资料图片?
【发布时间】:2012-04-24 12:05:58
【问题描述】:

拥有用户 ID xUID,我知道我可以通过这种方式获取个人资料图片:

http://graph.facebook.com/xUID/picture?type=large

问题是从该 URL 返回的图片不是实际大小(大约 200 像素宽)。

我需要获取那张用户图片,但要真实大小。

到目前为止我所做的是:

1.获取用户相册

https://graph.facebook.com/me/albums?access_token=xToken

2。对其进行迭代,并获得 type="profile" 的专辑。

3.使用该专辑 ID (xAID),我可以构建 FQL 查询:

SELECT pid, object_id, src_big FROM photo WHERE album_object_id = xAID

4.并在那里获取个人资料图片。

5.我需要迭代并找到用户上传的最后一个。

因此,这个过程既复杂又耗时。有没有更好/更简单/更快的方法来完成这个?

非常感谢!

【问题讨论】:

    标签: facebook-graph-api photo profile


    【解决方案1】:

    【讨论】:

    • 索要前怎么知道图片的真实尺寸?
    • 我相信 720x720 是目前的最大值。如果您想提前知道大小,可以这样做:developers.facebook.com/tools/explorer/… 并指定您想要的最小大小。
    • 谢谢你这几天一直在找这个
    【解决方案2】:

    您只需要执行一个 FQL 查询:

    SELECT pid, object_id, src_big
    FROM photo 
    WHERE object_id IN 
      (SELECT cover_object_id 
       FROM album 
       WHERE owner=me() AND type="profile")
    

    src_big 将包含指向配置文件原始来源的链接。 如果您需要获取特定用户的头像,请将 me() 更改为特定的用户 ID。

    【讨论】:

      【解决方案3】:

      好的,按照问题说的做了。浏览相册,并从中获取第一张个人资料图片。

      Julio 的回答不起作用,因为它不可能在 WHERE 子句中包含“类型”,因为它不是可索引的列。

      【讨论】:

        【解决方案4】:

        封面照片也不总是最近的照片,截至几天前。

        【讨论】:

          【解决方案5】:

          获取cover_object_id:

          fql?q=SELECT cover_object_id, type FROM album WHERE owner="userid" AND type="profile"

          获取 src_big:

          fql?q=SELECT pid, object_id, src_big FROM photo WHERE object_id="覆盖上面得到的对象id"

          img src="上面得到的src_big"

          这有什么帮助?

          【讨论】:

          • 你不能把“类型”放在哪里,因为它不是一个可索引的列。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-09-15
          • 2017-12-20
          • 2012-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-27
          相关资源
          最近更新 更多