Estoy tratando de obtener la dirección de correo electrónico de un usuario. Él inicia sesión, solicito permiso para acceder al correo electrónico y él elige aceptarlo. Luego utilizo la API gráfica de Facebook para acceder a la dirección de correo electrónico.No se puede obtener la dirección de correo electrónico mediante facebook sdk para IOS y gráfico de API para Facebook
- (void) fbDidLogin
{
btnLogin.isLoggedIn = TRUE;
[btnLogin updateImage];
NSString *theURL =
[ [NSString stringWithFormat:
@"https://graph.facebook.com/me?access_token=%@", facebook.accessToken
]stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding
];
NSLog(@"%@", theURL);
[facebook requestWithGraphPath: theURL andDelegate: self];
}
...
- (void)request:(FBRequest*)request didLoadRawResponse:(NSData*)data
{
NSString *response = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
NSLog(@"%@", response);
[response release];
}
Éste es cómo obtener la información:
- (void) request:(FBRequest*)request didLoad:(id)result
{
if ([result isKindOfClass:[NSDictionary class]])
{
NSString *email = [result objectForKey: @"email"];
NSString *name = [result objectForKey: @"name"];
NSString *facebookId = [result objectForKey: @"id"];
//...
}
}
Me da sólo que esta cadena: { id = "https://graph.facebook.com/me"; }
¿Qué hice mal?
@kudor: después de llamar requestWithGraphPath: @ "yo", ¿cómo es exactamente lo que extraer la información necesaria como el correo electrónico, en su caso? Necesito nombre de usuario – WaJiyaz
¡Pondré el código en mi pregunta! Obtienes un 'NSDictionary' y tienes que obtener los valores de él. –
hola, lo probé pero la respuesta recibida es "OAuthException": "Se debe usar un token de acceso activo para consultar información sobre el usuario actual", así que supongo que no llega a la solicitud didLoad. – WaJiyaz