我如何才能看到哪些朋友参加Facebook活动?我可以使用Facebook SDK获取所有与会者的列表,withGraphPath:@“eventId / attendnding /".
使用Graph API我甚至想要什么?我读了一些关于如何使用FQL实现这一点的答案,但不知道如何在iOS中实现它。我想出的唯一选择是让所有朋友和所有与会者互相交叉引用他们,但这非常不方便。
那么,我如何才能让我的Facebook朋友参加活动?
答案 0 :(得分:2)
这是来自Facebook提供的教程
您可以检查特定用户是否对某个事件回答“是” 向/ EVENT_ID /参与/ USER_ID发出HTTP GET。这些操作 要求非公共的user_events或friends_events权限 事件并返回一个名为,id和的对象数组 rsvp_status字段。检查单个用户时,将显示空数据 如果用户没有对该事件回答“是”,则返回。
您可以通过查看此链接中的事件类别来检查它:
使用 / EVENT_ID /参加/ USER_ID 查看参加活动的朋友
答案 1 :(得分:1)
好的,所以我找到了解决问题的方法......实现我想要的唯一方法就是通过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()))
答案 2 :(得分:0)
只需使用{event id} /参加,然后根据您的实际朋友列表对其进行过滤。
答案 3 :(得分:0)
使用FQL QUery尝试:
SELECT uid FROM event_member WHERE eid = YOU_EVENT_ID_HERE AND rsvp_status = 'attending'
使用Graph API:
/YOU_EVENT_ID_HERE/attending
这将返回“Attending Friends”用户ID(uid)。
ASH