![](/img/trans.png)
[英]How to get email id of user using facebook sdk 4.7 in ios 9
[英]How to get user's email with Facebook SDK 3.1 on iOS?
我正在使用电子邮件权限打开facebook会话,如下所示:
- (void)facebookOpenSession {
NSArray *permissions = @[@"email"];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
}
然后会话状态的重要片段改变如下:
- (void)sessionStateChanged:(FBSession *)session
state:(FBSessionState) state
error:(NSError *)error {
switch (state) {
case FBSessionStateOpen: {
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
if (error) {
//error
} else {
self.myFirstNameLabel.text = user.first_name;
self.myLastNameLabel.text = user.last_name;
// self.myEmailLabel.text = @"";
}
}];
}
...
我如何实际提取用户的电子邮件? 它是在一个提供的变量中,还是我必须在完成处理程序中进行另一个调用?
提前致谢!
FBGraphUser没有属性(我假设因为它是可选的/只有在你要求电子邮件权限时才可用)但你仍然可以从字典中访问它,如下所示:
[user objectForKey:@"email"]
您应该在询问正确的权限之前进行检查
loginView.readPermissions = @[@"public_profile", @"email"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.