我可以让用户使用 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 查询与当前用户签入一起使用?
这里的问题是看起来像 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()
你的尝试非常接近。如果要避免返回旧的签入,请为时间戳添加 where 子句。例如,如果我想在过去 6 个月内(一个月 2678400 秒)为自己签到,我会做:
选择author_uid、tagged_uids、target_id、坐标、时间戳、消息 FROM 签入 其中 author_uid = me() 和时间戳> (now() - (2678400*6))
如果你想抢朋友的签到,我会做:
选择author_uid、tagged_uids、target_id、坐标、时间戳、消息 从签入位置author_uid(从朋友中选择 UID2,其中 UID1 = me()) 和时间戳> (now() - (2678400*6))