我正在使用以下 api 调用来获取通过 facebook 登录的用户的信息...
首先我调用 FBSDKLoginManager 的这个方法。
- (void)logInWithReadPermissionsNSArray *)permissions
fromViewControllerUIViewController *)fromViewController
handlerFBSDKLoginManagerRequestTokenHandler)handler;
一旦登录成功,我就会调用下面的方法。
NSMutableDictionary* parameters = [NSMutableDictionary dictionary];
[parameters setValue"id,name,email,birthday,gender,education,work" forKey"fields"];
[[[FBSDKGraphRequest alloc] initWithGraphPath"me" parameters:parameters]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id user, NSError *error) {
if (!error) {
[[CleverTap push] graphUser:user];
}
}];
我的意思是 FBSDK 包含一个名为 FBSDKProfile 的类。
这有一些我可以使用的属性,比如名字中间名和其他。我怎样才能访问这个..?因为即使在登录后,这个类的共享实例也给我 nil。
NSLog(@"name %@", [FBSDKProfile currentProfile].firstName);
我在这里错过了什么吗..?
Best Answer-推荐答案 strong>
您只需要在参数中使用 first_name 。
查看示例代码以获取名字。
[[[FBSDKGraphRequest alloc] initWithGraphPath"me"
parameters{@"fields": @"first_name"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
NSString *name;
if (!error) {
name = result[@"first_name"];
}
}];
如果您需要其他字段,请参阅此处的列表:https://developers.facebook.com/docs/graph-api/reference/v2.2/user
关于ios - 如何在 ios 上获取通过 Facebook 登录的用户的名字?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/34320157/
|