使用图形 api 可以做到:
https://graph.facebook.com/me/checkins
但是我应该如何使用 FQL 呢?我试过这个,这表明:
SELECT message FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
AND me() IN tagged_uids
但它甚至不返回一个结果。
谢谢。
使用图形 api 可以做到:
https://graph.facebook.com/me/checkins
但是我应该如何使用 FQL 呢?我试过这个,这表明:
SELECT message FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
AND me() IN tagged_uids
但它甚至不返回一个结果。
谢谢。
据我所见,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_checkins
和friends_checkins
权限。
@cpilko 提供了一个解决方案,但我找到了另一个解决方案,所以我在这里添加它作为任何访问此页面的人的参考:
SELECT id FROM location_post WHERE ([UserId] IN tagged_uids OR author_uid=me()) AND strpos(type,"checkin")>=0