用于查找公共事件的FQL查询
我想执行一个FQL查询来检索特定区域中的所有公共事件(使用经度,纬度和最大距离或简单位置名称)。你知道这有可能吗?用于查找公共事件的FQL查询
很显然,有人是能够做到这一点,不知何故:http://elmcity.info/fb_events?location=tokyo
确实可以使用基于位置的“搜索”来接收事件 要做到这一点,您需要您想要搜索的位置的经度和纬度坐标以及具有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
我与此相同的问题摔跤现在。这看起来不可能。有几个问题,我看到:
位置字段不是在page
或place
表搜索,- 事件位置填充的方式是不一致的:见this page's events for an example。 (我个人人口最多的这些,这些是FB变化,而不是用户的错误。)
- FQL没有一个
AS
声明基于计算的结果进行查询,并 - Facebook的限制返回的项目数通过查询某个相当低的值。
引用网站似乎要做的是查询event.description
输入字符串的存在。查询“宜家”,你会得到很多结果。绝对不是地理搜索。 (顺便说一句,该网站的源代码是GitHub)。
编辑:
好吧,我错了。 Facebook确实公开了搜索方法,但仅限于Graph API。使用batch request功能,您可以执行一系列请求是的:已知纬度/长
- 查找距离内的所有
place
项(以米为单位)。图表api接受q=*
作为搜索字符串返回所有地方。 - 查询
event
查找上面返回地点的所有事件。
我打算玩这个。我会更新这篇文章,因为我更好地充实了这段代码。
我相信,在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'
的可能重复[获取基于位置的事件列表(HTTP:/ /facebook.*.com/questions/9339936/get-event-list-based-on-location) – DMCS
你会在这个问题中找到你的答案。 http://facebook.*.com/questions/9339936/get-event-list-based-on-location希望它仍然有效! – DMCS