$fql = "SELECT link_id, owner, created_time, title, summary, url, image_urls FROM link WHERE owner IN (select uid2 from friend where uid1 = me() LIMIT 20) AND created_time >= $_7ago";
以上查询效果很好。但是,当我将LIMIT从20增加到21或更高时,我得到一个错误,查询返回Null。我想查询所有朋友共享的链接。感谢。
答案 0 :(得分:0)
该查询需要永远执行。只需在Graph API资源管理器中测试几次,即使从20位朋友那里获取链接也需要> 28秒在我写这篇文章的时候,我有一个运行100个朋友的查询。我们会在我做之前看看它是否完成。
看起来如果你想获得所有朋友共享的所有链接,你需要将这个查询分成更小的块并重复多次。
我可能会像这样构建它,以便首先获得最亲密的朋友的链接,然后深入挖掘与您不太相同的人:
SELECT link_id, owner, created_time, title, summary, url, image_urls FROM link
WHERE owner IN (SELECT uid FROM user WHERE uid IN
(SELECT uid2 FROM friend WHERE uid1 = me())
ORDER BY mutual_friend_count LIMIT $offset, 20)
AND created_time >= $_7ago
您将以{20}的倍数递增$offset
。
这最好作为异步查询完成,您可以快速获得初始结果,其他人将在可用时填写。获得所有这些结果需要很长时间。
(100个朋友的查询在5分钟后仍未返回结果。)
顺便说一句,不要忘记将问题标记为已解决。