我的[PFFacebookUtils logInWithPermissions]是这样的:
NSArray *permissionsArray = @[@"user_about_me"];
[PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) {
if (!user) {
NSLog(@"Uh oh. The user cancelled the Facebook login.");
} else if (user.isNew) {
} else {
NSLog(@"User logged in through Facebook!");
} }];
问题是该方法上传了类似于“St42o7PejDRh6scvMJylgOxGQ”的用户名。我想要的是上传Facebook的真实用户名,以及Facebook密码和其他相关领域。
编辑:使用用户名我具体是指姓名,姓氏和电子邮件,如果可能的话!
答案 0 :(得分:0)
Graph API使用OAuth作为身份验证机制,因此无法获取用户名和密码。
见
答案 1 :(得分:0)
不确定这对你来说是否还是一个问题,但是因为Facebook从他们的API中删除了这个功能,你无法像以前那样访问它,比方说PFUser 例如:
NSString *userName = [[PFUser user] username];
CAN 所做的是打开Facebook Graph API
请求,以便检索此类信息:
1)首先设置你想从Facebook获得的参数:(这里我刚刚做了FB id,用户名和电子邮件)
NSMutableDictionary* parameters = [NSMutableDictionary dictionary];
[parameters setValue:@"id,name,email" forKey:@"fields"];
2)只需调用Facebook Graph API并请求您需要的信息:
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSLog(@"Facebook Graph API user: %@", result);
}
}];
3)这是你应该得到的:(出于安全原因,我已经用通用指针替换了个人信息)
2015-11-15 18:52:18.204 YOURAPPNAME[60800:18917239] Facebook Graph API user: {
id = <the user id>;
name = "Full User Facebook Name";
email = "user@email.com";
}
希望这可以帮助您获得所需的信息!如果为时已晚,也许这将有助于未来的其他人