我正在开发Facebook应用程序,需要检索我的一些朋友创建的事件。 标准SQL查询如下所示:
NSString *fql1 = @"SELECT "
@"eid, name, tagline, id, pic_small,host, description, start_time, creator "
@"FROM "
@"event "
@"WHERE "
@"creator = 1111111111 OR creator = 2222222222 OR creator = 333333333";
Facebook只允许按索引字段过滤表格(在此表中为eid)。我假设我可以构建多个查询。有人可以帮忙吗?我花了一些时间谷歌搜索它没有看。我只需要一个查询,所以现在学习整个fbl对我来说毫无意义。
顺便说一句:有一个函数events.get - 你可以通过uid过滤(文档说):
参数:uid - 按与a关联的事件过滤 使用此uid的用户。
相关在什么意义上?是那些创作者的uid?,邀请,参加或者可能?为什么facebook文档如此令人沮丧?
当我使用uid参数尝试events.get时,它返回的结果与创建者ID不同,而不是uid参数。
图形API函数:uid/events
返回用户被邀请,参加或其他状态但不一定由他创建的事件。
我在这里缺少什么?我为我的应用程序授予了必要的权限,它连接,获取朋友的事件列表,但不是我想要的事件。
似乎很简单但我找不到直接的解决方案。
我很感激任何帮助。
答案 0 :(得分:3)
您可以这样做:
SELECT
eid, name, tagline, pic_small,host, description, start_time, creator
FROM
event
WHERE
eid IN (
SELECT
eid
FROM
event_member
WHERE
uid=111 OR uid=222) AND
(creator=111 OR creator=222)
基本上这表示获取事件用户111或222是其中的成员,只返回他们创建的事件。因为eid是一个可索引的字段,所以FQL对此很好,并且很乐意为你做额外的(creator = 111)修剪。