14

在我的 iOS 应用程序中,我使用以下代码获取访问令牌:

    [self.facebook authorize:[NSArray arrayWithObjects:@"user_events",
@"friends_events",  nil]];

然后我使用以下代码请求我的事件:

[self.facebook requestWithGraphPath:@"me/events" andDelegate:friendsVC];

但作为回应,我只收到我回复的事件。我想获得我所有的活动,包括那些我没有回复的活动。

有任何想法吗?

4

5 回答 5

6

请求

/我/事件

只为您提供用户(可能)计划参加的活动。响应不包括用户被邀请(但未响应)或拒绝的事件。

还有其他可能有帮助的请求:

您可以检查用户是否被邀请参加这样的活动:

/EVENT_ID/受邀/USER_ID

可以通过事件检查 RSVP 状态:

/EVENT_ID/出席

/EVENT_ID/也许

/EVENT_ID/拒绝

/EVENT_ID/受邀

其中每个请求都返回具有查询的 RSVP 状态的用户列表。

于 2012-05-17T13:01:45.660 回答
2

您可以通过下一个 FQL 查询获取事件列表,无论其 RSVP 状态如何:

SELECT eid, name, venue, location, start_time FROM event WHERE eid IN (
  SELECT eid from event_member WHERE uid = me()
)

这不会返回每个事件的 RSVP 状态,而只会返回事件详细信息。您可能希望使用批处理请求来获取事件的详细信息和rsvp_status相同的查询。

https://graph.facebook.com/?method=post&batch=[
  {
    "name":"rsvp",
    "relative_url":"fql?q=SELECT+eid,rsvp_status+FROM+event_member+WHERE+uid=me()",
    "omit_response_on_success":false
  },
  {
    "relative_url":"?ids={result=rsvp:$.data.*.eid}"
  }
]

有关您可能希望检索的其他字段的详细信息,请参阅event和表格文档。event_member

笔记:

从 7 月 5 日开始,即使是公共活动也需要访问令牌。

于 2012-05-23T00:10:38.077 回答
0

使用/me/events获取用户已响应的事件,使用/me/events/not_replied获取其他事件。

例如(假设您已经创建了一个会话):

[FBRequestConnection startWithGraphPath:@"/me/events/not_replied" completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
{
    FBGraphObject* data = (FBGraphObject*)result;
    NSMutableArray* array = [data objectForKey:@"data"];

    //parse data etc..
}];

有关更多信息,请参阅https://developers.facebook.com/docs/graph-api/reference/v2.0/user/events/

于 2014-08-06T09:16:48.347 回答
0

这不是一个完整的解决方案,并且可能不起作用,但请查看是否可以访问用户 Facebook 事件的 iCal 提要。我订阅了我的 iCal 提要,我注意到所有事件,甚至是我尚未回复的新事件都包含在提要中。

无论如何都要尝试一下!

于 2012-05-22T21:38:33.047 回答
0

我认为您可能会通过 fql 查询获得事件。你需要试试这个。

另请参阅此操作方法:使用 Graph API 管理事件

您需要通过 HTTP 从 Graph API 获取以下信息:

fql?q=SELECT uid,eid,rsvp_status FROM event_member WHERE uid = me()

您可以从该呼叫中取回所有状态。

{
  "data": [
    {
      "uid": "723020003",
      "eid": "19935786340002",
      "rsvp_status": "not_replied"
    },
    {
      "uid": "723020003",
      "eid": "234524000290351",
      "rsvp_status": "attending"
    },
    {
      "uid": "723020003",
      "eid": "210091000081240",
      "rsvp_status": "declined"
    },
    {
      "uid": "723020003",
      "eid": "210091000341240",
      "rsvp_status": "unsure"
    }
  ]
}
于 2012-05-21T07:19:39.373 回答