用于查找公共事件的FQL查询

问题描述:

我想执行一个FQL查询来检索特定区域中的所有公共事件(使用经度,纬度和最大距离或简单位置名称)。你知道这有可能吗?用于查找公共事件的FQL查询

很显然,有人是能够做到这一点,不知何故:http://elmcity.info/fb_events?location=tokyo

+0

的可能重复[获取基于位置的事件列表(HTTP:/ /facebook.*.com/questions/9339936/get-event-list-based-on-location) – DMCS

+0

你会在这个问题中找到你的答案。 http://facebook.*.com/questions/9339936/get-event-list-based-on-location希望它仍然有效! – DMCS

确实可以使用基于位置的“搜索”来接收事件 要做到这一点,您需要您想要搜索的位置的经度和纬度坐标以及具有user_events权限的access_token(我认为您也可以使用公众搜索)

下面是一个FQL示例,您如何获取位置附近的所有事件。 (这从您和您的朋友事件中搜索):

$lat = "40"; 
$long = "30"; 

// using offset gives us a "square" on the map from where to search the events 
$offset = 0.4; 

$events = 'SELECT pic_big, name, venue, location, start_time, eid FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND start_time > '. $created_time .' OR uid = me()) AND start_time > '. $created_time .' AND venue.longitude < \''. ($long+$offset) .'\' AND venue.latitude < \''. ($lat+$offset) .'\' AND venue.longitude > \''. ($long-$offset) .'\' AND venue.latitude > \''. ($lat-$offset) .'\' ORDER BY start_time ASC '. $limit; 

这个诀窍本身在于场地。经度和场地。海拔用途。要从城市获取活动,只需获取城市坐标并根据需要调整偏移量即可。 如果你不知道如何使用FQL请看Facebook PHP SDK

我与此相同的问题摔跤现在。这看起来不可能。有几个问题,我看到:

  • 位置字段不是在pageplace表搜索,
  • 事件位置填充的方式是不一致的:见this page's events for an example。 (我个人人口最多的这些,这些是FB变化,而不是用户的错误。)
  • FQL没有一个AS声明基于计算的结果进行查询,并
  • Facebook的限制返回的项目数通过查询某个相当低的值。

引用网站似乎要做的是查询event.description输入字符串的存在。查询“宜家”,你会得到很多结果。绝对不是地理搜索。 (顺便说一句,该网站的源代码是GitHub)。

编辑:

好吧,我错了。 Facebook确实公开了搜索方法,但仅限于Graph API。使用batch request功能,您可以执行一系列请求是的:已知纬度/长

  • 查找距离内的所有place项(以米为单位)。图表api接受q=*作为搜索字符串返回所有地方。
  • 查询event查找上面返回地点的所有事件。

我打算玩这个。我会更新这篇文章,因为我更好地充实了这段代码。

+0

你完全正确。我真的不明白为什么将研究限制在描述领域。该API将更加强大! – Claus

+2

http://facebook.*.com/questions/9339936/get-event-list-based-on-location有一个很好的方式来获取地点的事件。希望它仍然有效! – DMCS

+0

@DMCS这是一个很好的例子。我将不得不试试看它是否仍然有效。 – cpilko

我相信,在http://elmcity.info/fb_events?location=tokyo他们是不是真的寻找在东京的活动,他们只是执行这样的查询

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

(需要访问令牌,见https://developers.facebook.com/tools/explorer?method=GET&path=search%3Ftype%3Devent%26q%3Dhaifa

注意,该网址也适用 http://elmcity.info/fb_events?location=sport

我也在寻找一种方法来检索使用fql的公共事件,到目前为止我没有找到任何。

尝试此代码为我工作返回一个包含特定关键字,可以是你的位置,即将到来的公共事件的所有细节

SELECT eid,name,description,venue,creator,location,ticket_uri,start_time, eid,host,not_replied_count,pic_square,pic_big,unsure_count,attending_count,declined_count,all_members_count FROM event WHERE start_time > now() AND CONTAINS("your location name") AND privacy='open'