我需要获取已登录用户的好友列表。我正在使用这个
FBRequest* friendsRequest = [FBRequest requestWithGraphPath:@"me/friends" parameters:nil HTTPMethod:@"GET"];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
NSDictionary* result,
NSError *error){
NSArray* friends = [result objectForKey:@"data"];
NSLog(@"Found: %i friends", friends.count);
for (NSDictionary<FBGraphUser>* friend in friends){
NSLog(@"%@", friend);
}
}];
以及我需要传递的参数和HTTPMethod?
提前谢谢。
答案 0 :(得分:1)
最近的Facebook更新,现在4月30日之后,您需要提交Facebook App in Review以获得user_friend的许可。
See Upgrading from 3.13 to 3.14
要求超过public_profile
,email
和user_friends
的开发者需要提交他们的应用以供Facebook审核,以批准该应用请求的权限。有关详细信息,请参阅Permissions Guide。现有应用程序需要一年时间才能通过审核,包括对现有应用程序的更新。 2014年4月30日之后创建的应用必须经过审核。
在请求权限(包括登录时)时,人们现在可以拒绝所请求的个人权限。 添加了几种新方法来帮助实现这一新流程:
答案 1 :(得分:0)
//Facebook Friend List
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,NSDictionary* result,NSError *error)
{
NSArray* friends = [result objectForKey:@"data"];
//NSLog(@"%@",friends);
[app.Arr_Facebook_Frnd removeAllObjects];
// CREATE ARRAY OF ALL FRIEND LIST OF FACEBOOK
for (int i=0; i < [friends count]; i++)
{
// ADD IMAGE URL IN ARRAY
NSString *s1=[NSString stringWithFormat:@"%@",[[friends objectAtIndex:i] objectForKey:@"first_name"]];
NSString *s2=[NSString stringWithFormat:@"%@",[[friends objectAtIndex:i] objectForKey:@"id"]];
NSString *s3=[NSString stringWithFormat:@"%@",[[friends objectAtIndex:i] objectForKey:@"last_name"]];
NSString *s4=[NSString stringWithFormat:@"%@",[[friends objectAtIndex:i] objectForKey:@"name"]];
NSString *s5=[NSString stringWithFormat:@"%@",[[friends objectAtIndex:i] objectForKey:@"username"]];
NSString *s6=[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?", [[friends objectAtIndex:i] objectForKey:@"id"]];
NSMutableDictionary *dictFriend=[[NSMutableDictionary alloc]init];
[dictFriend setObject:s1 forKey:@"first_name"];
[dictFriend setObject:s2 forKey:@"id"];
[dictFriend setObject:s3 forKey:@"last_name"];
[dictFriend setObject:s4 forKey:@"name"];
[dictFriend setObject:s5 forKey:@"username"];
[dictFriend setObject:s6 forKey:@"ImgUrl"];
[app.Arr_Facebook_Frnd addObject:dictFriend];
[app.Arr_Facebook_Frnd retain];
}
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
[app.Arr_Facebook_Frnd sortUsingDescriptors:sortDescriptors];
[sortDescriptor release];
}];