如何按地点/城市查询公共脸书活动?

egf*_*nor 32 facebook facebook-graph-api

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

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

cpi*_*lko 46

更新时间2014-07-02

您无法直接在Facebook API中搜索某个位置附近的事件.由于最初提供此答案,因此Graph API使搜索事件变得更加困难.

OP引用的Elmcity脚本在事件标题中简单搜索关键字.以"Lancaster"为例.您将获得在其元数据中包含Lancaster一词的事件.

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

 https://graph.facebook.com/search?q=lancaster&type=event
Run Code Online (Sandbox Code Playgroud)

您还可以在标题中搜索非基于位置的单词,如"野餐",脚本将返回事件.

对于实际在某个位置附近查找事件的问题,在当前迭代中,"场所"字段只是一个字符串,因此它与任何Facebook位置都没有关系.运行这些查询什么都不返回

https://graph.facebook.com/madisonsquaregarden/events
https://graph.facebook.com/108424279189115/events
Run Code Online (Sandbox Code Playgroud)

因此,甚至不可能使用批量请求.

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

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

 SELECT name, start_time, venue FROM event WHERE CONTAINS("madison square garden")
Run Code Online (Sandbox Code Playgroud)

您发现venue.name没有填充.

尝试任何其他变体,如:

 SELECT name, start_time, venue FROM event WHERE venue.id = 108424279189115
Run Code Online (Sandbox Code Playgroud)

抛出"语句不可索引"错误.

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


stu*_*eek 7

GitHub上的这个JavaScript库看起来像是一个有趣的方法.它使用场所搜索,然后在这些场所进行事件搜索.
tobilg/Facebook的事件按位置的核心