无法使用facebook-graph-api version2.0获取facebook好友列表

时间:2014-06-04 05:06:44

标签: ios facebook-graph-api

我需要获取已登录用户的好友列表。我正在使用这个

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?
提前谢谢。

2 个答案:

答案 0 :(得分:1)

最近的Facebook更新,现在4月30日之后,您需要提交Facebook App in Review以获得user_friend的许可。

See Upgrading from 3.13 to 3.14

  • 要求超过public_profileemailuser_friends的开发者需要提交他们的应用以供Facebook审核,以批准该应用请求的权限。有关详细信息,请参阅Permissions Guide。现有应用程序需要一年时间才能通过审核,包括对现有应用程序的更新。 2014年4月30日之后创建的应用必须经过审核。

  • 在请求权限(包括登录时)时,人们现在可以拒绝所请求的个人权限。 添加了几种新方法来帮助实现这一新流程:

请检查Developer Facebook Review Guidelines

答案 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];
 }];