How to get friends list without opening FBFriendPickerViewController iOS

I am using Facebook sdk 3.2 for iOS,
Various examples of projects are available for iOS. But my problem is how can I get a friends list without opening FBFriendPickerViewController.
In fact, I want all my friends to facebook id and there Any help would be appreciated. Thanks at Advance

+4
source share
1 answer

Try the following:

get friends list using

**[FBRequest requestForMyFriends];** **FBRequest* friendsRequest = [FBRequest requestForMyFriends];** [friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,NSDictionary* result,NSError *error) { NSArray* friends = [result objectForKey:@"data"]; ...... 

encoding is performed as follows, but the main line

  **[FBRequest requestForMyFriends];** -(void)sessionStateChanged:(FBSession *)session state:(FBSessionState)state error:(NSError *)error { switch (state) { case FBSessionStateOpen: { if (self != nil) { [[FBRequest requestForMe] startWithCompletionHandler: ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) { if (error) { //error }else{ FBRequest* friendsRequest = [FBRequest requestForMyFriends]; [friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,NSDictionary* result,NSError *error) { NSArray* friends = [result objectForKey:@"data"]; for (int i = 0; i < [arrFacebookFriends count]; i++) { UserShare *shareObj = [arrFacebookFriends objectAtIndex:i]; [shareObj release]; shareObj = nil; } [arrFacebookFriends removeAllObjects]; for (NSDictionary<FBGraphUser>* friend in friends) { UserShare *shareObj = [[UserShare alloc] init]; shareObj.userName = friend.name; shareObj.userFullName = friend.username; shareObj.userId = [friend.id intValue]; NSLog(@"%@",friend.id); shareObj.userPhotoUrl = [NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?", friend.id]; [arrFacebookFriends addObject:shareObj]; [shareObj release]; } [self StopSpinner]; [tblFacebookFriends reloadData]; }]; } }]; } FBCacheDescriptor *cacheDescriptor = [FBFriendPickerViewController cacheDescriptor]; [cacheDescriptor prefetchAndCacheForSession:session]; } break; case FBSessionStateClosed: { [self StopSpinner]; UIViewController *topViewController = [self.navigationController topViewController]; UIViewController *modalViewController = [topViewController modalViewController]; if (modalViewController != nil) { [topViewController dismissViewControllerAnimated:YES completion:nil]; } //[self.navigationController popToRootViewControllerAnimated:NO]; [FBSession.activeSession closeAndClearTokenInformation]; [self performSelector:@selector(showLoginView) withObject:nil afterDelay:0.5f]; } break; case FBSessionStateClosedLoginFailed: { [self StopSpinner]; [self performSelector:@selector(showLoginView) withObject:nil afterDelay:0.5f]; } break; default: break; } [[NSNotificationCenter defaultCenter] postNotificationName:SCSessionStateChangedNotificationFL object:session]; if (error) { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"Error: %@", [FacebookFriendsListViewController FBErrorCodeDescription:error.code]] message:error.localizedDescription delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; [alertView release]; } } 
+4
source

All Articles