在Facebook上为所有事件提供一定的过滤条件

时间:2013-10-04 03:40:47

标签: facebook facebook-graph-api facebook-fql facebook-public-feed-api

我试图让Facebook上的活动中包含某些短语或描述。我希望不会将结果过滤或限制,因为这句话非常具体。

作为一个例子,我正在寻找的短语是" UMvC3" (Ultimate Marvel vs. Capcom 3)的缩写。

也就是说,我可以运行一个FQL查询(随后通过调用Graph API来丰富,如此):

select eid from event where contains("umvc3") and start_time >= now() 
order by update_time desc

这将为我带来" umvc3"在他们中以及将来发生的事情(我不关心过去事件)。

然而,选择受到严格限制。例如,搜索结果中未返回以下内容:

https://www.facebook.com/events/595137740538545/

它显然有" umvc3"在说明文字中。

我可以使用Graph API执行搜索,但这也不会返回上述结果。另外,我无法使用start_time上的图谱API进行过滤,或者按照我到达某一点后可以停止处理结果集的方式对结果进行排序。

最后,有一个公共Feed API,它会给我整个firehose(不可能过滤,不可能像推特那样),所以我必须在实际过滤时间,这几乎是不可能的。

那就是说,我是以错误的方式接近这个,还是没有办法真正从Facebook API获取全面,准确的事件结果?

注意:我使用工具部分中图表资源管理器提供的access_token

1 个答案:

答案 0 :(得分:4)

Event FQL表的description列不可索引,因此对不可索引列的自由式搜索不会给出任何结果。

通过运行您建议的查询看到的结果仅提供“ umvc3 ”位于name列中且可转换的事件。

唯一的选择是要求facebook提供全文索引此列,这显然不会发生。他们肯定不会打开任何使用“LIKE”这样的子句的列,因为查询执行会花费很多时间。

Facebook开发人员的回答:https://stackoverflow.com/a/5824449/334522