我可以使用 Graph API 但不能使用 FQL 让用户签到。
SELECT place FROM stream WHERE filter_key = 'owner' AND with_location = 'true' AND type = 285
返回空结果。
SELECT message FROM checkin WHERE author_uid = me()
这会返回非常旧的签到,就像不推荐使用的表一样。
如何让 FQL 查询与当前用户签到一起使用?
我可以使用 Graph API 但不能使用 FQL 让用户签到。
SELECT place FROM stream WHERE filter_key = 'owner' AND with_location = 'true' AND type = 285
返回空结果。
SELECT message FROM checkin WHERE author_uid = me()
这会返回非常旧的签到,就像不推荐使用的表一样。
如何让 FQL 查询与当前用户签到一起使用?
你的尝试非常接近。如果您想避免返回旧签入,请为时间戳添加 where 子句。例如,如果我想在过去 6 个月内(一个月 2678400 秒)为自己办理签到,我会这样做:
SELECT author_uid, tagged_uids, target_id, coords, timestamp, message FROM checkin WHERE author_uid = me() and timestamp > (now() - (2678400*6))
如果您想获取朋友的签到,我会这样做:
SELECT author_uid, tagged_uids, target_id, coords, timestamp, message FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) and timestamp > (now() - (2678400*6))
这里的问题是,看起来 Facebook 已弃用签到表,并且这里不再有新的签到。他们开始使用 location_post 表。因此,要获得您的签到,您可以使用
SELECT app_id, coords, author_uid, id, message, page_id, page_type, post_id, tagged_uids, timestamp, type FROM location_post WHERE author_uid = me()