我一直在试图弄清楚如何做到这一点,并认为这是不可能的,然后找到了这个网站:(由于死链接而被删除)
你可以在那里按城市搜索,我不知道他们是怎么做到的?据我所知,普通的图形 API 不允许按位置搜索事件。任何建议/提示/信息都会很棒!
我一直在试图弄清楚如何做到这一点,并认为这是不可能的,然后找到了这个网站:(由于死链接而被删除)
你可以在那里按城市搜索,我不知道他们是怎么做到的?据我所知,普通的图形 API 不允许按位置搜索事件。任何建议/提示/信息都会很棒!
您不能直接在 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 事件”是杀手级应用,但似乎唯一可行的方法是搜索您附近事件的常用字符串,获取这些事件,然后从结果集中过滤掉不相关的事件。
GitHub 上的这个 JavaScript 库似乎是一种有趣的方法。它使用地点搜索,然后对这些地点进行事件搜索。
tobilg/facebook-events-by-location-core
截至最近。由于隐私问题,事件端点已被弃用。您的应用现在需要先进行审核才能在恢复时访问事件 api。
由于隐私问题,事件和积分已被弃用。现在您必须先查看您的应用程序,然后才能访问事件 api。成功批准后,您可以搜索事件。
所以你可以做的是输入“事件”,但你需要输入日期,或者之后的明天。然后,在右侧,在您的过滤器中,输入位置字段,选择其他,然后输入您想要的位置。