我正在尝试开发一个简单的应用程序,当用户连接到Facebook时,它会从Facebook检索数据。
在阅读Facebook关于如何检索用户照片和用户姓名的示例后,我只想获取性别,城市,电子邮件和出生日期等信息,例如。
以下部分是我被困的地方:
- (void)populateUserDetails
{
if (FBSession.activeSession.isOpen) {
[[FBRequest requestForMe] startWithCompletionHandler:
^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *user,
NSError *error) {
if (!error) {
self.userNameLabel.text = user.name;
self.userProfileImage.profileID = user.id;
}
}];
}
}
我的问题是:
答案 0 :(得分:4)
首先,您必须要求用户获取访问其性别,电子邮件,城市的权限......
您创建具有所需权限的数组并将其添加到 openActiveSessionWithReadPermissions:方法
NSArray *permissions = [[NSArray alloc] initWithObjects:@"user_birthday",@"user_hometown",@"user_location",@"email",@"basic_info", nil];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession *session,
FBSessionState status,
NSError *error) {
}];
然后发出这样的请求以获取您想要的信息
[FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSLog(@"%@", [result objectForKey:@"gender"]);
NSLog(@"%@", [result objectForKey:@"hometown"]);
NSLog(@"%@", [result objectForKey:@"birthday"]);
NSLog(@"%@", [result objectForKey:@"email"]);
}];
我希望我解决了你的问题。