为什么iOS Facebook注册电子邮件ID未在我的帐户中返回?

时间:2017-01-05 09:04:53

标签: ios facebook email

我正在使用signup with Facebook。其他Facebook登录正常。有些帐户工作正常,但有些帐户没有返回email。如果有人知道原因请帮助我!

- (void)facebookOpenSession{

NSArray *permissions = [[NSArray alloc] initWithObjects:@"user_birthday",@"basic_info",@"user_location",@"user_likes",@"email",@"public_profile",@"user_hometown",@"user_about_me",nil];
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login
 logInWithReadPermissions: permissions
 fromViewController:self.view.window.rootViewController
 handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
 {
     if (error) {
     } else if (result.isCancelled) {
     } else {
         if ([result.grantedPermissions containsObject:@"email"])
         {
             [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me"
                                                parameters:@{@"fields": @"picture, email,name,first_name,last_name"}]
              startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
                  if (!error) {
                      if ([result objectForKey:@"email"]!=NULL)
                      {
                      [self newFbLoginFunction:result];
                      }
                  }
              }];
         }
     }
 }];}

响应如下:

{
"first_name" = AAAA;
id = 1XXXXXXXXX2258;
"last_name" = BBBBB;
name = "AAAA BBBBB";
picture =     {
    data =         {
        "is_silhouette" = 0;
        url = "https://fb-s-c-a.akamaihd.net/h-ak-xpa1/v/t1.0-1/p50x50/XXXXXXXXXXX3212_3395344935279367518_n.jpg?oh=7345e4de6XXXXXXXXXXXX8&oe=58E16A60&__gda__=14951668XXXXXXXXXX2bc0aec58eab3f25e47";
    };
};}

1 个答案:

答案 0 :(得分:0)

并非所有用户都使用电子邮件登录,您也可以使用电话号码。此外,电子邮件需要获得Facebook批准,否则它们将无法显示API。

换句话说:您永远不能保证收到回复的电子邮件。如果您无法收到包含API的电子邮件,请向用户显示电子邮件输入字段。