Вы можете получить список друзей и многие другие Подробности, как это:
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
#import <FBSDKShareKit/FBSDKShareKit.h>
пользовательских Facebook нажатия кнопок:
- (IBAction)facebook_click:(id)sender
{
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"public_profile", @"email", @"user_friends"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
{
if (error)
{
// Process error
NSLog(@"error is :%@",error);
}
else if (result.isCancelled)
{
// Handle cancellations
NSLog(@"error is :%@",error);
}
else
{
if ([result.grantedPermissions containsObject:@"email"])
{
NSLog(@"Login successfull");
[self fetchUserInfo];
[login logOut];
}
}
}];
}
Ответ Запрос:
-(void)fetchUserInfo
{
if ([FBSDKAccessToken currentAccessToken])
{
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id,name,link,first_name, last_name, picture.type(large), email, birthday,friends,gender,age_range,cover"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error)
{
//NSLog(@"result is :%@",result);
NSLog(@"User ID : %@",[result valueForKey:@"id"]);
NSLog(@"User Name : %@",[result valueForKey:@"name"]);
NSLog(@"User First Name :%@",[result valueForKey:@"first_name"]);
NSLog(@"User Last Name :%@",[result valueForKey:@"last_name"]);
NSLog(@"USER Email is :%@",[result valueForKey:@"email"]);
NSLog(@"User fb_Link : %@",[result valueForKey:@"link"]);
NSLog(@"User Birthday : %@",[result valueForKey:@"birthday"]);
NSLog(@"FB Profile Photo Link :%@",[[[result valueForKey:@"picture"]objectForKey:@"data"]objectForKey:@"url"]);
NSLog(@"User total friends : %@",[[[result valueForKey:@"friends"]objectForKey:@"summary"]valueForKey:@"total_count"]);
NSLog(@"User Gender : %@",[result valueForKey:@"gender"]);
NSLog(@"User age_range : %@",[[result valueForKey:@"age_range"]objectForKey:@"min"]);
NSLog(@"User cover Photo Link : %@",[[result valueForKey:@"cover"]objectForKey:@"source"]);
//Friend List ID And Name
NSArray * allKeys = [[result valueForKey:@"friends"]objectForKey:@"data"];
fb_friend_Name = [[NSMutableArray alloc]init];
fb_friend_id = [[NSMutableArray alloc]init];
for (int i=0; i<[allKeys count]; i++)
{
[fb_friend_Name addObject:[[[[result valueForKey:@"friends"]objectForKey:@"data"] objectAtIndex:i] valueForKey:@"name"]];
[fb_friend_id addObject:[[[[result valueForKey:@"friends"]objectForKey:@"data"] objectAtIndex:i] valueForKey:@"id"]];
}
NSLog(@"Friends ID : %@",fb_friend_id);
NSLog(@"Friends Name : %@",fb_friend_Name);
}
}];
}
}
Вы можете получить Профиль друзей Pic, используя этот API.
NSString *str = [NSString stringWithFormat:@"http://graph.facebook.com/%@/picture?type=large",friend_id];
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:str]];
UIImage *profilePic = [UIImage imageWithData:imageData];
Note : it will only display the Friends list who is download your application. Not all friends of your facebook friends. Its not possible to get FriendList or EmailId of Friends, according to new API version
кода правильный, но вы получите список друзей только те друзья, которые могут использовать ваши приложения с. fb login. –
Да, я знаю это, но некоторые из моих друзей используют приложение через facebook login .., но я не получаю fbID, который, как я ожидаю, вернусь указанным выше кодом. –
И вы, и ваши друзья должны предоставить ' user_friends 'разрешение на приложение - это то, что в случае? – CBroe