有没有办法使用FQL选择我所有朋友在指定位置范围内的Checkins?我可以使用FQL返回我的朋友checkin coords:
https://api.facebook.com/method/fql.query?access_token={0}&query=SELECT coords FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
但是如何添加上述查询以执行类似...
的操作 Where coords Within 10 miles of [(New York City, NY) | (long, lat) | (user.current_location)]
非常感谢任何帮助。提前谢谢。
编辑(3/9 3:05 pm est):
我主要只是寻找最终结果 - 不需要在一个FQL语句中获取所有内容,甚至不需要使用FQL(图形api,可能吗?)我知道我可能需要将数据带回来由于FQL / graph api的限制,它可以在本地使用并在本地使用。我只是想以有效的方式做到这一点,因此用户不必等待20秒即可加载所有内容。
当前的问题是,如果某人有几百个朋友并且每个朋友的所有签到都被退回,那么这个数据就太多了。
我正在寻找的结果的详细细节是从我的所有朋友开始,最后得到他们在过去X天内检查的前10位(根据签到位置ID的最高频率),在用户当前的facebook位置的Y距离内,以及位置的页面属于某个类别的位置,如酒吧。
这就是我正在处理的情景,我希望我附加的附加信息不会使我原来的问题复杂化。谢谢!
答案 0 :(得分:10)
所以有一些名为distance()的无证函数可能对你有所帮助,虽然它不能很好地工作(特别是因为它限制在50公里半径范围内):
SELECT coords, author_uid, tagged_uids, target_id, message FROM checkin WHERE target_id IN
(SELECT page_id FROM place WHERE distance(latitude, longitude, "37.75377496892", "-122.42077080676") < 50000)
最大值为50,000 米,这是FQL(显然未记录的)distance
函数的输出单位。
https://developers.facebook.com/docs/reference/fql/checkin/ https://developers.facebook.com/docs/reference/fql/place