让Facebook的朋友参加一个活动?

我如何能够看到我的哪些朋友参加Facebook活动? 我可以使用Facebook SDK获取所有与会者的列表,并带有“eventId / attending /”的path。

我想甚至可以使用Graph API? 我读了一些关于如何使用FQL来实现的答案,但不知道如何在iOS中实现它。 我想出的唯一select是让所有的朋友和所有的参与者交叉引用他们,但这是非常不方便的。

那么,如何才能让我的Facebook朋友参加一个活动呢?

这是来自Facebook提供的教程

您可以通过发出HTTP GET / EVENT_ID / attending / USER_ID来检查特定用户是否对事件做出了“是”回应。 这些操作需要非公共事件的user_events或friends_events权限,并返回具有name,id和rsvp_status字段的对象数组。 在检查单个用户时,如果用户没有回复“是”,则返回空数据。

您可以通过在此链接中检查事件类别来检查它:

http://developers.facebook.com/docs/reference/api/event/

使用/ EVENT_ID / attending / USER_ID查看哪个朋友正在参加一个事件

好的,所以我find了我的问题的解决scheme…实现我想要的唯一方法是通过FQL。 基本上,它会与参与者交叉引用您的朋友,但在Facebook服务器上,您只能收到您要求的数据(在我的情况下是用户ID,名称,图像)。 我还没有想出如何设置限制和抵消,但我不需要它,我认为也可以通过FQL …

这是我的代码:

-(void)getFriendsAttending{ NSLog(@"getting friends"); NSString *fql = [NSString stringWithFormat:@"SELECT uid, name, pic FROM user WHERE uid IN (SELECT uid FROM event_member WHERE eid = %@ AND rsvp_status = 'attending' AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me()))", fbID]; NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObject:fql forKey:@"q"]; [FBRequestConnection startWithGraphPath:@"/fql" parameters:params HTTPMethod:@"GET" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { if (error) { NSLog(@"Error: %@", [error localizedDescription]); } else { NSLog(@"Friends at event %@: %@", fbID, result); } }]; } 

这里是纯粹的FQL查询清晰(123456789 – 事件ID):

 SELECT uid, name, pic FROM user WHERE uid IN (SELECT uid FROM event_member WHERE eid = 123456789 AND rsvp_status = 'attending' AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me())) 

只要利用{事件ID} /参加,然后根据您的真实朋友列表筛选此。

使用FQL QUERY尝试:

 SELECT uid FROM event_member WHERE eid = YOU_EVENT_ID_HERE AND rsvp_status = 'attending' 

使用graphicsAPI:

 /YOU_EVENT_ID_HERE/attending 

这将返回“参加的朋友”用户标识(uid)。