iphone - 无法使用 facebook sdk获得电子邮件地址,也无法获得用于facebook的图形 api

  显示原文与译文双语对照的内容

我正在尝试从用户那里获取电子邮件地址。 他登录,我请求访问电子邮件,他选择 ok"。 然后,我使用来自facebook的图形API访问电子邮件地址。



- (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];
}

这就是我获取信息的方式:



- (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"];
//...
 }
}

它只给了我这个字符串: { id ="https://graph.facebook.com/me"; } 我做错了什么?

时间: 原作者:

我找到答案了


 NSArray *permissions = [[NSArray alloc] initWithObjects:@"user_likes",@"offline_access",@"read_stream",@"publish_stream",@"email",nil];

 [facebook requestWithGraphPath:@"me"andParams:params andDelegate:self];
 -(void)facebookLoginScreen:(NSDictionary *)result
 {
 NSLog(%@,[result objectForKey:@"email"]);
 }

我是 nevermind,我得用 @"me"[facebook requestWithGraphPath: @"me" andDelegate: self]; 而不是网址。

原作者:
...