我正在尝试使用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()))
我的问题:
答案 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
对这些进行排序。