我尝试使用此处描述的方法获取朋友的最新照片: FQL - Can i get photos of my friends posted this week
起初它看起来工作正常然后我注意到我的朋友的一些照片没有被取出,即使他们有更高的时间戳(照片按创建排序来自照片 FQL表的字段)... 经过一些调试后,我注意到问题出现在
中SELECT aid FROM album WHERE owner IN
(SELECT uid2 FROM friend WHERE uid1=me()
如果我传递了朋友ID的简短列表,他们正在正确排序,但是当我通过完整列表时,并不是所有朋友都包含在查询结果中......
为什么这不起作用的任何想法?在“SELECT XXX FROM YYY WHERE ZZZ IN(?)”查询中可以传递多少个值有限制吗?
提前感谢任何建议
答案 0 :(得分:2)
该限制似乎是在FQL查询的任何部分返回的约5000条记录。
假设您的朋友少于5000,您可以通过修改查询来减少返回的相册数量,以检查modified_major
列,只返回在感兴趣的时段添加了照片的相册。您可以选择查看modified
列以返回任何相册修改。
此外,aid
和pid
似乎在弃用的路径上。新开发应使用object_id
以获得最大兼容性。
因此,要获得自2012-10-01以来更新照片的所有相册,您可以使用此查询:
SELECT object_id FROM album WHERE owner IN
(SELECT uid2 FROM friend WHERE uid1=me()) AND modified_major > 1349049600
在您的优先查询中,将aid
更改为album_object_id
,将pid
更改为object_id