J'essaie d'obtenir l'adresse e-mail d'un utilisateur. Il se connecte, je demande la permission d'accéder au courrier électronique et il choisit ok. Ensuite, j'utilise l'API graphique de Facebook pour accéder à l'adresse e-mail.Impossible d'obtenir l'adresse e-mail en utilisant facebook sdk pour IOS et graphique api pour 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];
}
Voici comment je reçois l'information:
- (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"];
//...
}
}
Il me donne que cette chaîne: { id = "https://graph.facebook.com/me"; }
Qu'est-ce que je fait de mal?
@kudor: après avoir appelé requestWithGraphPath: @ « moi », comment avez-vous exactement extraire les informations nécessaires comme le courrier électronique dans votre cas? J'ai besoin de nom d'utilisateur. – WaJiyaz
Je vais mettre le code dans ma question! Vous obtenez un NSDictionary et vous devez en tirer les valeurs. –
salut, je l'ai essayé, mais la réponse reçue est "OAuthException": "Un jeton d'accès actif doit être utilisé pour interroger les informations sur l'utilisateur actuel" donc je suppose, il n'atteint pas la demande didLoad. – WaJiyaz