ios facebook登录,电子邮件没有返回一些Facebook帐户

时间:2016-01-05 13:29:30

标签: ios facebook facebook-graph-api

我正在使用 pod' Facebook-iOS-SDK' 在我的应用中登录facebook。我需要用户 ID,姓名和电子邮件。这是我用来获取数据的代码。

- (IBAction)btnFacebookPressed:(id)sender {
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    login.loginBehavior = FBSDKLoginBehaviorBrowser;
    [login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
     {
         if (error)
         {
             // Process error
         }
         else if (result.isCancelled)
         {
             // Handle cancellations
         }
         else
         {
             if ([result.grantedPermissions containsObject:@"email"])
             {
                 NSLog(@"result is:%@",result);
                 [self fetchUserInfo];
                 [login logOut]; // Only If you don't want to save the session for current app
             }
         }
     }];
}
-(void)fetchUserInfo
{
    if ([[FBSDKAccessToken currentAccessToken]hasGranted:@"email"])
    {
        NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenString]);

        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email"}]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (!error)
             {
                 NSLog(@"resultis:%@",result);

             }
             else
             {
                 NSLog(@"Error %@",error);
             }
         }];
    }else{
        [self btnFacebookPressed:nil];
    }
}

我无法通过电子邮件收到我朋友的大部分Facebook登录信息。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果您确实收到某些帐户的电子邮件,但并非针对所有帐户,则可能有两个原因:

  • 您的朋友拒绝了电子邮件许可
  • 他们的电子邮件地址未经确认或他们已使用手机登录 - 我相信可以使用电子邮件而不是电子邮件