【发布时间】:2011-07-22 15:00:26
【问题描述】:
我对 Facebook FQL 的工作方式感到困惑。我需要获得特定页面的“本月粉丝”。那是发帖和 cmets 最多的用户。
在 facebook FQL stream documentation 上面写着:
流表的每次查询仅限于前 30 天或 50 个帖子,以较大者为准,但是您可以使用特定时间的帖子 字段,例如 created_time 以及 FQL 运算符(例如 ) 检索更大范围的帖子。
这就是我正在做的事情。我通过以下方式获取一定范围内的帖子:
SELECT actor_id,created_time FROM stream WHERE source_id = '.$wallid.' AND (created_time >= '.$date_start.' OR updated_time >= '.$date_start.')'
这似乎可行 - 不知何故 - 但我遇到了 cmets 问题。我不想获取特定帖子的所有 cmets,而是获取某个时间范围内的所有 cmets。
SELECT fromid, time FROM comment WHERE post_id IN (SELECT post_id FROM stream WHERE source_id = '.$wallid.')
这将返回大约 50 cmets。当我添加以下内容时:
AND time > 1309478400 // 2011-07-01
我也得到了 cmets。但是使用以下(2011-07-01 - 2011-07-02)我得到一个空数组:
AND time > 1309478400 AND time < 1309564800
当我不添加时间条件时,似乎可以通过运行多个限制递增的查询来取回超过 50 cmets:
... LIMIT 0, 50
... LIMIT 50, 50
但是这个限制不适用于我的时间条件。
那么,有没有人已经做过类似的事情,或者任何人都可以解释一下限制在什么情况下有效,什么时候无效?
【问题讨论】:
标签: php limit facebook-fql