0

到目前为止,这似乎是不可能的.. 谁能给我一个合适的查询或一组可以做到这一点的查询?基本上,我需要我所有朋友的签到:他们自己签到的,他们用图片签到的,不是我朋友的用户标记他们的。

我的第一次尝试是这样的:

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 个奇怪的查询,一个为我的每个朋友,有没有办法做到这一点?

任何指针都非常感谢!

谢谢,
泰加

4

3 回答 3

1

we can also use following FQL to get friends checkins and checkins in which friends are tagged:

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())
于 2013-03-28T07:31:59.887 回答
0

这是否需要在 FQL 中,或者 Graph API 是否不足以满足此要求?

/me/friends?fields=checkins,虽然很慢(警告:有很多朋友,这可能会完全超时),返回我的朋友列表以及他们最近签到的数组(以及那些签到的喜欢、评论等)

您还可以将其分成几批朋友以获得更好的性能:

/?fields=checkins&ids=[CSV LIST OF FRIENDS TO CHECK]

于 2012-10-15T17:08:41.017 回答
0

我最近试图解决同样的问题,发现通过 /me/friends?fields=checkins 使用图表太慢而无法使用,有时会完全超时。

不过,我只是偶然发现了搜索功能,这似乎正是我(也许是你)想要的。

引用 facebook 文档:

Checkins: https://graph.facebook.com/search?type=checkin (This request returns you or your friend's latest checkins, or checkins where you or your friends have been tagged; currently, it does not accept a q= parameter.)

There's tons more examples here under Search: https://developers.facebook.com/docs/reference/api/

于 2012-11-12T02:57:09.163 回答