0

我尝试在 FQL 中通过 desc 在一个请求中订购我所有朋友的最新照片,但我只有两个朋友的照片以响应此查询:

SELECT src_small ,owner,created FROM photo WHERE aid IN (
SELECT aid FROM album WHERE owner IN (
SELECT uid2 FROM friend WHERE uid1=me()
)
)ORDER BY created DESC

如果我删除我的子查询的 order by,这也是同样的问题,我只有 5 个朋友的照片

我有很好的权限

这对我来说非常有问题,因为我想加载本周的最新照片(包括所有朋友并列出朋友)

你有什么想法或曾经解决过这个问题吗?

非常感谢您的帮助,我完全陷入困境和失望

4

1 回答 1

1

问题是您可以返回多少数据是有限的。FB 将您的值限制在约 5K 左右。[平均有 1,000 张照片的 5 个朋友 = 5K]。FQL 没有对照片进行分页的方法。

您需要做的是获取每张专辑,按创建日期排序,并根据您拥有的朋友数量限制结果。(1K 朋友 = 每人 5 张照片)

您会从下面的代码中注意到(为清楚起见,分为 3 部分),返回了许多专辑,但从 5 中返回的图片太少。没有简单的 FQL 答案。

{
"query1":"SELECT uid2 FROM friend WHERE uid1=me()",
"query2":"SELECT aid,owner FROM album WHERE owner IN (SELECT uid2 FROM #query1)",
"query3":"SELECT src_small ,owner,created FROM photo WHERE aid IN (SELECT aid FROM #query2) ORDER BY created DESC"

}

于 2012-12-10T07:28:47.267 回答