4

有没有办法使用 FQL 来选择我在指定位置范围内的所有朋友签到?我可以使用 FQL 返回我的朋友签入坐标:

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):

我主要只是在寻找最终结果 - 不需要在单个 FQL 语句中恢复所有内容,甚至不需要使用 FQL(可能是图形 api?)我知道我可能需要将数据分段恢复并由于 FQL/图形 api 的限制,在本地使用它。我只是想以一种有效的方式来做,这样用户就不必等待 20 秒来加载所有内容。

直接的问题是,如果某人有数百个朋友,并且每个朋友的所有签到都返回,那么数据量就太大了。

我正在寻找的结果的详细信息是从我所有的朋友开始,最后是他们在过去 X 天内签到的前 10 个地方(基于签到的位置 ID 的最高频率),在用户当前 facebook 位置的 Y 距离,以及该位置的页面属于某个类别的位置,例如一个酒吧。

这就是我正在处理的情况,我希望我附加的附加信息不会使我原来的问题复杂化。谢谢!

4

1 回答 1

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

于 2011-11-14T07:18:09.340 回答