现在这似乎是不可能的..任何人都可以给我一个合适的查询或一组可以做到这一点的查询吗?基本上,我需要所有朋友的签到:他们已经自己办理了登记,其中他们已经用照片查看过,其中一位不是我朋友的用户将其标记为。
我的第一次尝试是:
SELECT checkin_id, author_uid, page_id, coords, tagged_uids, timestamp FROM checkin WHERE (author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) OR author_uid=me()) ORDER BY timestamp DESC LIMIT 50
但这不包括带图片的签到。
我的第二次尝试是:
SELECT id, author_uid, app_id, timestamp, tagged_uids, page_id, page_type, coords, type FROM location_post
WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1=me())
但是就像WHERE子句所暗示的那样,我们只会查找由朋友创建的签名,而不是我的朋友被标记的签名。
我的下一次尝试是:
SELECT id, author_uid, app_id, timestamp, tagged_uids, page_id, page_type, coords, type FROM location_post
WHERE tagged_uids IN (SELECT uid2 FROM friend WHERE uid1=me())
但它只是返回一个空数据集,因为它可能应该。
如果没有提交500个奇怪的查询,我的每个朋友都有一个,有没有办法做到这一点?
非常感谢任何指针!
谢谢,
Teja公司
答案 0 :(得分:1)
我们还可以使用以下FQL来获取朋友签名和签到的朋友签名:
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 :(得分:0)
这是否需要在FQL中,或者图谱API不足以满足这个要求吗?
/me/friends?fields=checkins
,虽然很慢(警告:有很多朋友可以完全超时),给我一份我最近签到的朋友列表(以及那些签到的喜欢,评论等)
你也可以把它分成几批朋友以获得更好的表现:
/?fields=checkins&ids=[CSV LIST OF FRIENDS TO CHECK]
答案 2 :(得分:0)
我最近试图解决同样的问题并发现通过/ me / friends使用图表?fields = checkins太慢而无法使用,有时会完全超时。
我只是偶然发现了搜索功能,这似乎完全符合我(也许你想要的)。
引用facebook文档:
签到:https://graph.facebook.com/search?type=checkin(此请求 返回您或您朋友的最新签到,或签到您或您的地方 你的朋友已被贴上标签;目前,它不接受q = 参数。)
搜索结果中有更多示例:https://developers.facebook.com/docs/reference/api/