OGeek|极客世界-中国程序员成长平台

标题: ios - 如何在 ios 上获取通过 Facebook 登录的用户的名字? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 17:54
标题: ios - 如何在 ios 上获取通过 Facebook 登录的用户的名字?

我正在使用以下 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-推荐答案


您只需要在参数中使用 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4