如何找到过去附近的朋友?

时间:2012-06-05 20:48:43

标签: facebook-graph-api facebook-fql checkin facebook-checkins

在我的应用中,用户就在某个位置,正在寻找她的朋友,这些朋友曾经在距离她10英里的地方。如何使用FQL或图形找到它?我能看到的唯一方法是运行如下搜索:https://graph.facebook.com/search?type=checkin然后运行结果以找出10英里内的位置。有更好的方法吗?

感谢您的帮助!

施舍

2 个答案:

答案 0 :(得分:2)

来自http://developers.facebook.com/docs/reference/fql/location_post/

它说

  

返回具有与之关联的位置的帖子的FQL表   他们满足以下至少一个条件:

     
      
  • 您在帖子中被标记了
  •   
  • 朋友在帖子中被标记了
  •   
  • 您撰写了帖子
  •   
  • 一位朋友撰写了帖子
  •   
     

注意:此查询可以处理大量数据。为了   确保在a中返回可管理的数据量   合理的时间范围,你应该指定一个最近的时间戳来缩小   结果。

     

返回指定地点10,000米范围内的帖子:

SELECT id, page_id
FROM location_post
WHERE distance(latitude, longitude, '37.86564', '-122.25061') < 10000

答案 1 :(得分:2)

虽然最初的答案确实对我有用,但是很快就变得不够了。现在,在我的头靠在墙上后,它终于破了(不是我的头 - 墙)。以下是两种更好的方法,可以找到我需要的东西:

这是为了找到只是签到:

  

SELECT checkin_id,coords,tagged_uids,page_id FROM checkin WHERE   (author_uid IN(SELECT uid2 FROM friend WHERE uid1 = me())或   author_uid = me())和coords.latitude&lt; '45 .0'和coords.latitude&gt; '29'   和coords.longitude&gt;' - 175'和coords.longitude&lt;' - 5';

这是查找所有位置信息:

  

SELECT id,page_id FROM location_post WHERE(author_uid IN(SELECT   uid2 FROM friend WHERE uid1 = me())或author_uid = me())和   coords.latitude&lt; '45 .0'和coords.latitude&gt; '29'和   coords.longitude&gt;' - 175'和coords.longitude&lt;' - 5'