该查询需要永远执行。只需在 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
你会以$offset
20 的倍数递增。
这最好作为异步查询来完成,您将快速获得初始结果,其他人将在可用时填写。获得所有这些结果需要很长时间。
(100好友查询5分钟后仍未返回结果。)
顺便说一句,不要忘记将您的问题标记为已解决。