我一直在试图弄清楚如何做到这一点,并且认为这是不可能的,然后找到这个网站:(由于死链接删除)
你可以在那里搜索城市,我不知道他们是怎么做到的?正如我所见,普通图API不允许按位置搜索事件。任何建议/提示/信息都会很棒!
答案 0 :(得分:46)
您无法直接在Facebook API中搜索某个位置附近的活动。由于最初提供此答案,因此Graph API使搜索事件变得更加困难。
OP引用的Elmcity脚本可以在事件标题中简单搜索关键字。以“Lancaster”为例。您将获得在其元数据中包含Lancaster一词的事件。
他们的查询看起来像这样:
https://graph.facebook.com/search?q=lancaster&type=event
您还可以在标题中搜索非基于位置的单词,如“野餐”,脚本将返回事件。
对于在某个位置附近实际查找事件的问题,在当前迭代中,“场所”字段只是一个字符串,因此它与任何Facebook位置都没有关系。运行这些查询不会返回任何内容:
https://graph.facebook.com/madisonsquaregarden/events
https://graph.facebook.com/108424279189115/events
因此,甚至不可能使用批量请求。
根据文档,FQL似乎是一个更好的解决方案。在event documentation中,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事件”是杀手级应用程序,但似乎可能的唯一方法是搜索您附近事件的常用字符串,获取这些事件,然后从结果集中过滤掉不相关的事件。
答案 1 :(得分:8)
GitHub上的这个JavaScript库看起来像是一个有趣的方法。它使用场所搜索,然后在这些场所进行事件搜索 tobilg/facebook-events-by-location-core
答案 2 :(得分:3)
截至最近。由于隐私问题,事件终点已被弃用。 现在,您的应用程序需要首先进行审核,以便在恢复时访问事件api。
答案 3 :(得分:0)
由于隐私问题,事件和积分已被弃用。现在,您必须先查看您的应用程序,然后才能访问事件api。成功获得批准后,您可以搜索事件。
答案 4 :(得分:-4)
所以你可以做的是输入“事件”,但你需要输入日期,或者明天之后输入。然后,在右侧的过滤器中,输入位置字段,选择其他字段,然后打入您想要的位置。