iOS - Facebook SDK v.4.5.1 - 获取用户名和电子邮件
Posted
技术标签:
【中文标题】iOS - Facebook SDK v.4.5.1 - 获取用户名和电子邮件【英文标题】:iOS - Facebook SDK v.4.5.1 - fetch user name and email 【发布时间】:2015-08-25 16:23:44 【问题描述】:我正在将 Facebook 登录信息集成到我的应用程序中。 SDK 已完美安装 - 我已经测试了所有内容。我也能够完美地登录和注销。 但现在最重要的部分是:我不知道如何获取我需要的数据(用户名、电子邮件地址等)。
我目前在我的头文件中声明了 LoginButton。
@property (strong, nonatomic) IBOutlet FBSDKLoginButton *loginButton;
然后我的主文件中有这个:
loginButton = [[FBSDKLoginButton alloc] init];
loginButton.delegate = self;
loginButton.readPermissions =
@[@"public_profile", @"email", @"user_friends"];
[self.view addSubview:loginButton];
我还实现了我需要的两个方法——它们都被正确调用了。
- (void) loginButton: (FBSDKLoginButton *)loginButton
didCompleteWithResult: (FBSDKLoginManagerLoginResult *)result
error: (NSError *)error
NSLog(@"facebook login button test");
- (void) loginButtonDidLogOut:(FBSDKLoginButton *)loginButton
NSLog(@"facebook logout button test");
下一步是什么?所有在线教程都已过时或使用 Swift。我主要需要知道用户的姓名,电子邮件以及他是否登录(稍后)。
非常感谢。
【问题讨论】:
你可以查看这个答案:Not getting Email and public profile using facebook 4.4.0 SDK 【参考方案1】:您可以通过以下方法获取。
- (void)getFacebookData
if ([FBSDKAccessToken currentAccessToken])
[[[FBSDKGraphRequest alloc] initWithGraphpath:@"me" parameters:@@"fields": @"first_name, last_name, picture.type(large), email, name, id, gender"]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
if (!error)
NSLog(@"fetched user:%@", result);
];
然后调用这个方法如下。
- (void) loginButton: (FBSDKLoginButton *)loginButton
didCompleteWithResult: (FBSDKLoginManagerLoginResult *)result
error: (NSError *)error
NSLog(@"facebook login button test");
[self getFacebookData];
通过这种方式,您可以获得有关用户的所有信息。
【讨论】:
非常感谢 Piyush,它运行良好。在 getFacebookData 中,如何从“结果”中获取 first_name? 你能告诉我什么是 NSLog(@"fetched user:%@", result); ? 没关系,我找到了解决方案,我只需要重新创建字典: NSDictionary *userData = (NSDictionary *)result;以上是关于iOS - Facebook SDK v.4.5.1 - 获取用户名和电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
在 Facebook-Ios-Sdk 中关闭 Facebook 会话
Facebook SDK:在IOS7上无法完成操作(com.facebook.sdk错误2)
Facebook SDK 错误 Domain=com.facebook.sdk Code=5 在 ios 中获取好友列表时
facebook-ios-sdk 是不是使用 iOS 6 Facebook 集成来支持登录而不打开本机 Facebook 应用程序?