I tried "SELECT post_id, actor_id, target_id, message, likes FROM stream WHERE source_id = me() LIMIT 100"
,它返回 81 而不是 100 个帖子,然后我尝试了"SELECT post_id, actor_id, target_id, message, likes FROM stream WHERE source_id = me() LIMIT 50"
,并期望它返回 50 个帖子,因为第一个查询返回 81 个帖子,但结果只包含 43 个帖子。
想知道 LIMIT 是如何工作的。
此外,created_time
对我来说并不真正有效"SELECT post_id, actor_id, target_id, message, likes FROM stream WHERE source_id = me() AND created_time > 1262196000 LIMIT 100"
返回 81 个帖子,同时"SELECT post_id, actor_id, target_id, message, likes FROM stream WHERE source_id = me() AND created_time > 1262196000"
仅返回 5。有什么想法吗?
是的,这很正常。 Facebook 执行您的 FQL 并返回与您的查询匹配的所有帖子。在本例中,有 100 个帖子。
ThenFacebook 会过滤掉您的应用程序不可见的帖子。这是基于演员的隐私设置。没有visible_to_me
领域中的stream
表可以让您预先过滤结果。
如果您想要 100 个帖子,请要求 200 个,然后显示前 100 个。大多数情况下,您会在结果中获得至少 100 个帖子。
如果您查询stream
没有LIMIT
,您将获得最多 50 个帖子或最近 30 天的项目,以较少者为准.
作为奖励,为您created_time
查询,您可以使用strtotime()
如果您不考虑 UNIX 时间戳(我不考虑),请在 FQL 中创建时间戳。它解析与 PHP 相同的字符串strtotime()
功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)