1

需要 facebook fql 和数据挖掘帮助

SELECT post_id, source_id, message, created_time 
FROM stream 
WHERE source_id IN 
(
    SELECT target_id FROM connection WHERE source_id=me()
) LIMIT 10
4

1 回答 1

1

如此处所述:

流表的每次查询仅限于前 30 天或 50 个帖子,以较大者为准,但是您可以使用特定于时间的字段,例如 created_time 以及 FQL 运算符(例如 < 或 >)来检索更大范围的帖子。 http://developers.facebook.com/docs/reference/fql/stream

根据我的经验,您需要进行多次查询才能挤出过去所有可用的帖子。首先,我使用 Facebook 的最大限制进行查询,如下所示:

SELECT post_id, source_id, message, created_time, likes  
FROM stream 
WHERE source_id IN (SELECT target_id FROM connection WHERE source_id=me()) 
LIMIT 5000

(另请注意,我在示例中省略的选择中添加了“喜欢”,如果您打算计算喜欢,则需要这样做)

然后我解析结果并从上一篇文章中获取 created_time 值,并使用它作为条件创建一个新查询,如下所示:

SELECT post_id, source_id, message, created_time, likes 
FROM stream 
WHERE source_id IN (SELECT target_id FROM connection WHERE source_id=me()) 
AND created_time < 1361472438 
LIMIT 5000

然后我重复这个过程并进行额外的查询,直到 Facebook 返回一个空的结果集。

但即使我做了所有这些,我得到的时间也不会超过 6 天。

因此,至少按日期来看,它比 Facebook 在他们的文档中声明的要少得多,但是从数量上看,你似乎得到了 50 多个帖子。

于 2013-02-26T13:04:24.227 回答