有没有办法使用 FQL 选择指定位置范围内的所有 friend 签到?我可以使用 FQL 返回我 friend 的签到坐标:
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 在 [(New York City, NY) | 10 英里以内 | (经度、纬度) | (user.current_location)]
如有任何帮助,我们将不胜感激。提前致谢。
编辑(美国东部时间 3 月 9 日下午 3:05):
我主要只是在寻找最终结果 - 不需要在单个 FQL 语句中取回所有内容,甚至不需要使用 FQL(可能是图形 API?)我知道我可能需要将其取回数据由于 FQL/graph api 的限制,可以分段并在本地使用它。我只是想以一种高效的方式进行,这样用户就不必等待 20 秒来加载所有内容。
直接的问题是,如果某人有几百个 friend ,并且每个 friend 的所有签到都被返回,那么处理的数据太多了。
我正在寻找的结果的详细信息是从我所有的 friend 开始,最后是他们在过去 X 天内签到的前 10 个地方(基于签到位置 ID 的最高频率),在用户当前 Facebook 位置的 Y 距离内,并且该位置的页面属于特定类别,例如酒吧。
这就是我正在处理的情况,我希望我附加的附加信息不会使我原来的问题复杂化。谢谢!
最佳答案
所以有一些名为 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
关于 Facebook FQL : Get checkins within range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5250368/