Facebook API获取由朋友创建的活动

时间:2010-09-14 16:41:15

标签: events api facebook

我正在开发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返回用户被邀请,参加或其他状态但不一定由他创建的事件。

我在这里缺少什么?我为我的应用程序授予了必要的权限,它连接,获取朋友的事件列表,但不是我想要的事件。

似乎很简单但我找不到直接的解决方案。

我很感激任何帮助。

1 个答案:

答案 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)修剪。