我正在使用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";
};
};}
答案 0 :(得分:0)
并非所有用户都使用电子邮件登录,您也可以使用电话号码。此外,电子邮件需要获得Facebook批准,否则它们将无法显示API。
换句话说:您永远不能保证收到回复的电子邮件。如果您无法收到包含API的电子邮件,请向用户显示电子邮件输入字段。