-1

我试图在 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 执行搜索,但这也不会返回上述结果。此外,我无法在 Graph API 上使用 Graph API 进行过滤start_time或以某种方式对结果进行排序,一旦我到达某个点,我就可以停止处理结果集。

最后,还有 Public Feed API,它将为我提供整个 firehose(不幸的是,它不能像 Twitter 那样过滤),所以我必须实时过滤,这几乎是不可能的。

也就是说,我是不是以错误的方式处理这个问题,还是没有办法真正从 Facebook API 中获得全面、准确的事件结果集?

注意:我access_token在工具部分使用 Graph Explorer 提供的。

4

1 回答 1

4

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

您通过运行您建议的查询看到的结果仅给出了“ umvc3 ”在name列中的事件,该列是可索引的。

唯一的选择是要求 facebook 对该列进行全文索引,这显然不会发生。他们肯定不会为 using 像“LIKE”这样的子句打开任何列,因为查询执行将花费大量时间。

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

于 2013-10-06T16:53:11.613 回答