33

我一直在试图弄清楚如何做到这一点,并认为这是不可能的,然后找到了这个网站:(由于死链接而被删除)

你可以在那里按城市搜索,我不知道他们是怎么做到的?据我所知,普通的图形 API 不允许按位置搜索事件。任何建议/提示/信息都会很棒!

4

5 回答 5

46

2014-07-02 更新

您不能直接在 Facebook API 中搜索某个位置附近的事件。自从最初给出这个答案以来,Graph API 使得搜索事件变得更加困难。

OP 引用的 Elmcity 脚本对事件标题中的关键字进行了简单搜索。以“兰开斯特”为例。您将获得在元数据中某处包含 Lancaster 一词的事件。

他们的查询看起来像这样:

 https://graph.facebook.com/search?q=lancaster&type=event

您还可以在标题中搜索不基于位置的单词,例如“picnic”,脚本会返回事件。

对于实际查找某个位置附近的事件的问题,在当前迭代中,“venue”字段只是一个字符串,因此它与任何 Facebook 位置都没有关系。运行这些查询不会返回任何内容:

https://graph.facebook.com/madisonsquaregarden/events
https://graph.facebook.com/108424279189115/events

因此,甚至不可能使用批处理请求。

根据文档,FQL 似乎是一个更好的解决方案。在事件文档中,该venue.name列是可索引的!容易,对吧?

错误的。当您运行此 FQL 查询以在某个位置查找事件时,如下所示:

 SELECT name, start_time, venue FROM event WHERE CONTAINS("madison square garden")

你发现venue.name没有填充。

尝试任何其他变体,例如:

 SELECT name, start_time, venue FROM event WHERE venue.id = 108424279189115

引发“语句不可索引”错误。

因此,虽然构建“我附近的 Facebook 事件”是杀手级应用,但似乎唯一可行的方法是搜索您附近事件的常用字符串,获取这些事件,然后从结果集中过滤掉不相关的事件。

于 2012-06-25T02:03:17.937 回答
7

GitHub 上的这个 JavaScript 库似乎是一种有趣的方法。它使用地点搜索,然后对这些地点进行事件搜索。
tobilg/facebook-events-by-location-core

于 2015-12-23T02:16:41.123 回答
3

截至最近。由于隐私问题,事件端点已被弃用。您的应用现在需要先进行审核才能在恢复时访问事件 api。

于 2018-04-10T11:50:30.743 回答
0

由于隐私问题,事件和积分已被弃用。现在您必须先查看您的应用程序,然后才能访问事件 api。成功批准后,您可以搜索事件。

于 2018-11-07T16:21:26.450 回答
-4

所以你可以做的是输入“事件”,但你需要输入日期,或者之后的明天。然后,在右侧,在您的过滤器中,输入位置字段,选择其他,然后输入您想要的位置。

于 2014-06-06T05:26:13.937 回答