2

我正在为 iPhone 使用最新的 Facebook 连接 API。我正在尝试从我的应用用户的朋友那里获取电子邮件地址。我只考虑用户的那些朋友,他们是相应 Facebook 应用程序的用户,并且已经允许 Facebook 应用程序使用他们的电子邮件地址。我正在执行多查询以获取用户朋友的 uid,然后获取朋友的信息。在响应请求时其他一切都很好,但电子邮件地址都返回“null”。这是我的代码:

-(void)viewDidLoad{

[super viewDidLoad];

// create facebook session
NSArray *permissions = [[NSMutableArray alloc] initWithObjects:@"email", nil];
facebook = [[Facebook alloc] init];
[facebook authorize:FB_AUTH_KEY permissions:permissions delegate:self];
[permissions release];

}

-(void)requestFriendsArray{

// create the multiquery
NSString* friendIDs = @"select uid2 from friend where uid1 == me()";
NSString* namesAndPics = [NSString stringWithFormat:@"select pic_square, first_name, last_name, email, is_app_user from user where uid in (select uid2 from #friendIDs)"];
NSString* queries = [NSString stringWithFormat:@"{\"friendIDs\":\"%@\",\"namesAndPics\":\"%@\"}", friendIDs, namesAndPics];
NSMutableDictionary *params = [[NSMutableDictionary alloc] initWithObjectsAndKeys:queries, @"queries", nil];

// send it out
[facebook requestWithMethodName:@"fql.multiquery" andParams:params andHttpMethod:@"GET" andDelegate:self];
[params release];

}

有人知道发生了什么吗?

谢谢!

-马特

4

1 回答 1

2

可能您需要请求扩展“邮件”权限。请参阅http://developers.facebook.com/docs/authentication/permissions

于 2010-10-16T18:12:18.153 回答