我在“{iOS 3”类型的http://developer.facebook.com上有一个Facebook应用程序,它使用新的Facebook iOS SDK 3.0连接到实际的iOS应用程序。
我怎么知道已经安装了该应用程序并授权Facebook应用程序的多个人是否也可以将它们放在某个列表中,但这不是我的问题,因为我知道有一个名为“已安装”的字段用户安装应用时返回true
。
因此,如果我想根据用户是否使用该应用来过滤FBFriendPickerViewController
返回的朋友,那么我如何使用installed
字段或其他内容来过滤朋友。
注意:我知道在哪里过滤好友(*)我需要的是我需要检查的字段或属性,以确保用户安装我的应用程序。
* - (BOOL)friendPickerViewController:(FBFriendPickerViewController *)friendPicker
shouldIncludeUser:(id<FBGraphUser>)user
答案 0 :(得分:0)
我找到了一种方法:
我创建了一个方法,将FQL发送给我需要的人(例如我的朋友,他们是男性)
然后使用以下方法将此请求返回的内容与FBFriendPickerViewController
已存在的内容进行比较:
- (BOOL)friendPickerViewController:(FBFriendPickerViewController *)friendPicker shouldIncludeUser:(id<FBGraphUser>)user
请求:
NSDictionary *queryParam = [NSDictionary dictionaryWithObjectsAndKeys:@"query", @"q", nil];
[FBRequestConnection startWithGraphPath:@"/fql" parameters:queryParam HTTPMethod:@"GET"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (error)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Oops" message:@"Some thing go wrong !, Try again" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
else
{
NSArray *friendInfo = (NSArray *) [result objectForKey:@"data"];
for(int i = 0; i < [friendInfo count]; i++)
{
[self.friendsNames addObject:[[friendInfo objectAtIndex:i] objectForKey:@"name"]];
}
}
}];
如您所见,我有NSArray
存储已过滤的朋友,下一步是在上面的委托方法中对它们进行比较。
希望你觉得它很有用。