我想执行一个FQL查询来检索特定区域中的所有公共事件(使用经度,纬度和最大距离或只是位置名称)。你知道这是否可能?
显然,有人能够以某种方式做到这一点:http://elmcity.info/fb_events?location=tokyo
答案 0 :(得分:5)
确实可以使用基于位置的“搜索”来接收事件 为此,您需要您要搜索的位置的经度和纬度坐标以及具有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
答案 1 :(得分:2)
我正在努力解决同样的问题。看起来不太可能。我看到了几个问题:
page
或place
表中搜索,AS
语句进行查询,引用的网站似乎做的是查询event.description
是否存在输入字符串。查询“宜家”,您将获得大量结果。绝对不是地理搜索。 (顺便说一句,该网站的源代码在GitHub)。
修改强>
好的,我错了。 Facebook确实公开了一种搜索方法,但仅限于Graph API。使用batch request功能,您可以执行以下一系列请求:
place
条目。图表api接受q=*
搜索字符串以返回所有位置。event
以查找上述返回位置的所有事件。我打算玩这个。我会再次更新这篇文章,因为我更好地充实了这段代码。
答案 2 :(得分:1)
尝试此代码为我工作返回即将举行的公共活动的所有详细信息,其中包含可能是您所在位置的特定关键字
self.parentViewController
答案 3 :(得分:0)
我相信在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检索公共事件的方法,到目前为止我没有找到任何方法。