我如何能够看到我的哪些朋友参加Facebook活动?我可以使用Facebook SDK获取所有与会者的名单,并使用GraphPath:@“eventId/attending /”。获取Facebook朋友参加活动?
我想甚至可以使用Graph API?我阅读了一些关于如何使用FQL实现这一点的答案,但不知道如何在iOS中实现它。我想出的唯一选择是让所有的朋友和所有与会者互相交叉引用,但这非常不方便。
那么,如何才能让我的Facebook朋友参加一个活动?
我如何能够看到我的哪些朋友参加Facebook活动?我可以使用Facebook SDK获取所有与会者的名单,并使用GraphPath:@“eventId/attending /”。获取Facebook朋友参加活动?
我想甚至可以使用Graph API?我阅读了一些关于如何使用FQL实现这一点的答案,但不知道如何在iOS中实现它。我想出的唯一选择是让所有的朋友和所有与会者互相交叉引用,但这非常不方便。
那么,如何才能让我的Facebook朋友参加一个活动?
好的,所以我找到了解决我的问题的方法......通过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()))
只要使用{event id} /参加,然后根据您的真实朋友列表筛选此。
好的,但如果有500名与会者呢?我不得不下载整个列表来检查它。它更方便设置限制...我这样做,我只会得到限制内的朋友... – 2013-05-09 19:49:12
这是由Facebook的
提供的教程,您可以检查是否有特定的用户回答“是”的事件通过 发出HTTP GET到/ EVENT_ID /出席/ USER_ID。这些操作 需要非公开的 事件的user_events或friends_events权限,并返回具有名称,ID和 rsvp_status字段的对象数组。在检查单个用户时,如果用户未对事件做出回复“是”,则返回空数据 。
您可以通过检查该链接的事件类别检查:
使用/EVENT_ID /出席/ USER_ID,看看哪些朋友正关注事件
多数民众赞成在我看来,但这并不意味着我将不得不为每个单一用户执行此操作。 。是不是有办法解决它? – 2013-05-09 19:47:10
我发现它需要EVENT_ID/invite/USER_ID,/参加/什么也不做(很像眼罩) – nbsp 2014-07-15 23:52:11
使用FQL查询尝试:
SELECT uid FROM event_member WHERE eid = YOU_EVENT_ID_HERE AND rsvp_status = 'attending'
使用图形API:
/YOU_EVENT_ID_HERE/attending
这将返回“参加的朋友”用户标识(uid)。
ASH
我已经回答了这个问题,我敢肯定这将返回所有人参加,而不仅仅是我的朋友出席 – 2013-07-19 12:55:27
你对其他解决方案有任何问题吗?或者你的唯一可能性? – 2013-07-23 17:35:15
我的所有其他解决方案是唯一有效的可行性... – 2013-07-24 21:46:26
这只是返回一个空白数据对象:(这很奇怪,因为组成部分工作正常... – nbsp 2014-07-15 23:56:17
@nbsp它的一个旧的答案 - 也许他们改变了以来? – 2014-07-21 08:25:14
括号是错误的 – 2014-08-04 14:40:31