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

Jia*_*Jia 2 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.任何想法?

cpi*_*lko 5

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

然后 Facebook过滤掉您的应用程序看不到的帖子.这是基于演员的隐私设置.表格中没有允许您预过滤结果的visible_to_me字段stream.

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

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

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