FQL流不返回limit定义的帖子数

时间:2013-01-10 23:05:38

标签: facebook facebook-fql

我尝试"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.任何想法?

1 个答案:

答案 0 :(得分:5)

是的,这是正常的。 Facebook执行您的FQL并返回与您的查询匹配的所有帖子。在这种情况下,有100个帖子。

然后 Facebook过滤掉您的应用无法看到的帖子。这是基于演员的隐私设置。 visible_to_me表格中没有stream字段可供您预先过滤结果。

如果您想要100个帖子,请求200,然后显示前100个。大部分时间,您将在结果中获得至少100个帖子。

如果您在没有stream的情况下查询LIMIT,您将获得最近50个帖子或最近30天的商品,以较少者为准

作为奖励,对于created_time查询,如果您不考虑UNIX时间戳(我不这样做),您可以使用strtotime()在FQL中创建时间戳。它解析与PHP strtotime()函数相同的字符串。