Facebook FQL让我所有的朋友上次签到

时间:2013-01-17 20:02:05

标签: android facebook-fql

我正在尝试使用FQL让我所有的Facebook好友最后一次检查。 因为我有很多朋友,所以FQL查询永远都是如此,所以我把它缩小到他们当前位置与我的城市相同的朋友:

 SELECT author_uid, coords FROM checkin WHERE author_uid IN 
(SELECT uid FROM user WHERE uid IN
(SELECT uid2 FROM friend WHERE uid1 = me()) AND current_location.city IN
(SELECT current_location.city FROM user WHERE uid = me()))

我的问题:

  1. 对于每个用户我得到5行。有没有办法让每个用户只获得5行?
  2. 是否有某种方式可以做GROUP BY?
  3. 这不是我想要的......会很高兴听到建议

2 个答案:

答案 0 :(得分:2)

如果您收到"exceeded the rate of 600 calls per 600 seconds"

只需刷新access token

即可

/me/friends?fields=checkins.limit(<>)会帮你解决问题。

如果您想使用fql,那么

SELECT checkin_id FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

它会给你朋友的签到。

如果您还想要对您的朋友进行标记的签到,请使用以下查询:

SELECT checkin_id FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 =

 me()) OR tagged_uids IN (SELECT uid2 FROM friend WHERE uid1 = me())

答案 1 :(得分:1)

使用Graph API比使用FQL更容易。这将为您提供所有朋友的最新签到。

/me/friends?fields=checkins.limit(1)

FQL中没有SELECT UNIQUE语法,因此您需要在客户端应用程序中过滤结果。您可以使用ORDER BY对这些进行排序。

相关问题