如果我使用ios中的电话号码登录,如何从Facebook获取电子邮件ID?

时间:2016-08-17 07:16:00

标签: ios objective-c facebook facebook-sdk-4.0

我正在将iOS集成在iOS应用程序中,以便在我的应用程序中登录。 如果我们使用电话号码登录facebook,是否可以从iOS中的facebook API获取电子邮件ID。 目前我正在使用以下代码。

    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
    if (error) {
        // Process error
    } else if (result.isCancelled) {
        // Handle cancellations
    } else {
        // If you ask for multiple permissions at once, you
        // should check if specific permissions missing

        if ([result.grantedPermissions containsObject:@"email"]) {
            if ([FBSDKAccessToken currentAccessToken]) {
                [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]
                 startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
                     if (!error) {
                         NSLog(@"fetched user:%@", result);
                     }
                 }];
            }
        }
    }
}];

1 个答案:

答案 0 :(得分:0)

如果用户已注册电子邮件,您将收到电子邮件地址。如果用户已注册电话号码,您可能会将电子邮件字段显示为空。请看看Facebook开发人员的参考资料。

https://developers.facebook.com/docs/facebook-login/permissions#reference-email

  

请注意,即使您申请电子邮件权限,也不能保证您会收到电子邮件地址。例如,如果有人使用电话号码而不是电子邮件地址注册Facebook,则电子邮件字段可能为空。