Получить список друзей Facebook и отобразить его в пользовательском представлении?
Я пытаюсь получить список друзей FaceBook и отобразить его в пользовательском представлении, например "foresqure App"
что я имею в виду "foursquare" запрашивать разрешение и размещать на своей стене внутри приложения, не выходя из приложения в браузер или приложение Facebook? после этого приложение получит всех друзей и отобразит их в настраиваемом tableView.
вот что я попробовал:
if (!FBSession.activeSession.isOpen) {
// if the session is closed, then we open it here, and establish a handler for state changes
[FBSession openActiveSessionWithReadPermissions:@[@"public_profile", @"user_friends"]
allowLoginUI:YES
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
if (error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
message:error.localizedDescription
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
} else if (session.isOpen) {
//[self pickFriendsButtonClick:sender];
NSLog(@"aaaa");
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[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(@"I have a friend named %@ with id %@", friend.name, friend.id);
}
}];
}
}];
}
В этом случае он откроет сафари, чтобы запросить разрешение, не входящее в приложение, а массив друзей допускает nill или count = 0.
1 ответ
Попробуйте этот код..
Сначала вызовите этот метод, как это..
[self FBFriendList];
И добавить это двумя способами.
-(void)FBFriendList
{
if (!FBSession.activeSession.isOpen)
{
// if the session is closed, then we open it here, and establish a handler for state changes
[FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:YES completionHandler:^(FBSession *session,FBSessionState state, NSError *error)
{
if (error)
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:error.localizedDescription delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
[alertView release];
}
else if(session.isOpen)
{
[self FBFriendList];
[self fb_frnd_use_this_app];
}
}];
return;
}
}
-(void)fb_frnd_use_this_app
{
FBRequest *request = [FBRequest requestWithGraphPath:@"me/friends"
parameters:@{@"fields":@"name,installed,first_name,picture"}
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBRequestConnection *connection,
id result,
NSError *error)
{
NSLog(@"%@",result);
int count = 0;
NSMutableArray *frnd_arr = [result objectForKey:@"data"];
for (int i = 0; i < [frnd_arr count]; i++)
{
NSLog(@"%@",frnd_arr);
count++;
}
NSLog(@"%@",app.Arr_Facebook_Frnd);
app.fbfriendCount =[NSString stringWithFormat:@"%d",count];
}];
}
Надеюсь, что этот код полезен для вас.