如何使用FQL获取用户标记的所有签入

时间:2012-08-09 12:52:25

标签: facebook-fql facebook-checkins

使用图表api可以这样做:

https://graph.facebook.com/me/checkins

但我怎么用FQL来做呢? 我试过this表示:

SELECT message FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
AND me() IN tagged_uids

但它不会返回任何结果。

感谢。

2 个答案:

答案 0 :(得分:0)

从我看到的情况来看,IN似乎不适用于me()。您必须先获取用户ID并将其分配给变量。这会引发OAuth异常:

SELECT message FROM checkin WHERE author_uid = me() OR me() IN tagged_ids

但如果您将[UserId]设置为当前用户的ID,则可以:

SELECT message FROM checkin WHERE author_uid = [UserId] OR [UserId] IN tagged_ids

您不需要使用friend子查询。 FQL只会返回您的用户可见的签到。

要实现此目的,请确保access_token具有user_checkinsfriends_checkins权限。

答案 1 :(得分:0)

@cpilko提供了一个解决方案,但我找到了另一个解决方案,所以我在这里添加它作为参与此页面的人的参考:

SELECT id FROM location_post WHERE ([UserId] IN tagged_uids OR author_uid=me()) AND strpos(type,"checkin")>=0