iOS Facebook 获取好友列表
Posted
技术标签:
【中文标题】iOS Facebook 获取好友列表【英文标题】:iOS Facebook get friends list 【发布时间】:2015-02-09 18:03:57 【问题描述】:- (void)viewDidLoad
[super viewDidLoad];
m_allFriends = [[NSMutableArray alloc] init];
if ([[FBSession activeSession] isOpen])
if ([[[FBSession activeSession] permissions]indexOfObject:@"user_friends"] == NSNotFound)
[[FBSession activeSession] requestNewPublishPermissions:[NSArray arrayWithObject:@"user_friends"] defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session,NSError *error)
[self getFBFriendListFunc];
NSLog(@"1");
];
else
[self getFBFriendListFunc];
NSLog(@"2");
else
[FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObject:@"user_friends"]
defaultAudience:FBSessionDefaultAudienceOnlyMe
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState status, NSError *error)
if (!error && status == FBSessionStateOpen)
[self getFBFriendListFunc];
NSLog(@"3");
else
NSLog(@"error");
];
-(void)getFBFriendListFunc
[FBRequestConnection startWithGraphpath:@"me/friends"
parameters:nil
HTTPMethod:@"GET"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
)
NSLog(@"me/friends result=%@",result);
NSLog(@"me/friends error = %@", error.description);
NSArray *friendList = [result objectForKey:@"data"];
[m_allFriends addObjectsFromArray: friendList];
];
我尝试将 Facebook 与他们的 API 连接起来,实际上这段代码连接了 Facebook,Facebook 询问我这个应用程序想要使用你的信息,而不是我确认的信息。最后一步,Facebook 再次返回我的应用程序,而不是这个 getFBFriendListFunc
应该运行但 if/else 都不起作用。什么都没有显示...
我在 Facebook 开发人员上获得此代码,哪个代码部分错误? 任何的想法 ? 谢谢...
【问题讨论】:
【参考方案1】:为了邀请用户,您可以在添加 facebook-sdk 后使用以下代码
[FBWebDialogs
presentRequestsDialogModallyWithSession:sharedFacebookHelper.session
message:@"Your invite message"
title:nil
parameters:nil
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error)
if (error)
// An error occurred, we need to handle the error
// See: https://developers.facebook.com/docs/ios/errors
NSLog(@"Error publishing story: %@", error.description);
else
if (result == FBWebDialogResultDialogNotCompleted)
// User canceled.
NSLog(@"User cancelled.");
else
// Handle the publish feed callback
];
【讨论】:
【参考方案2】:我在AppDelegate.m
上添加此功能,如果此功能不退出登录会话,我希望此代码对任何人有帮助:)
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
BOOL wasHandled = [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
return wasHandled;
【讨论】:
以上是关于iOS Facebook 获取好友列表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 iOS Facebook SDK 获取所有 Facebook 好友列表
如何使用 FBSDK for iOS 获取 Facebook 好友列表?
Facebook SDK 错误 Domain=com.facebook.sdk Code=5 在 ios 中获取好友列表时