3

拥有用户 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.我需要迭代,找到用户上传的lastone。

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

非常感谢!

4

5 回答 5

9

http://graph.facebook.com/xUID/picture?width=720&height=720

于 2012-10-10T22:48:03.620 回答
1

您只需执行一个 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将包含指向配置文件原始源的链接。如果您需要获取特定用户的个人资料图片,请使用特定用户 ID更改me() 。

于 2012-10-10T22:03:41.770 回答
0

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

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

于 2012-05-05T12:27:03.777 回答
0

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

于 2013-06-27T00:09:57.210 回答
-1

获取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"

这有什么帮助?

于 2012-04-24T13:43:14.587 回答