Facebook iOS sdk 获取用户 ID

Posted

技术标签:

【中文标题】Facebook iOS sdk 获取用户 ID【英文标题】:Facebook iOS sdk to take user id 【发布时间】:2013-06-01 12:53:55 【问题描述】:

关于 ios 版 Facebook sdk 的问题。

如果我有一个活动会话,我怎样才能只获得用户 ID?

有没有不使用这个示例代码的简单方法来获取这个id?

if (FBSession.activeSession.isOpen) 
        [[FBRequest requestForMe] startWithCompletionHandler:
         ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *aUser, NSError *error) 
             if (!error) 
                 // I can take the user id..
             
         ];
    

【问题讨论】:

【参考方案1】:
+ (NSString *)activeUserId 
    return [FBSDKAccessToken currentAccessToken].userID;

如果您已经在 facebook 上登录。

【讨论】:

其实很简单;-)。 这是关于它的文档developers.facebook.com/docs/reference/ios/current/class/…【参考方案2】:

这是获取用户 ID 的最佳方式,而不是使用点直接访问。

[[FBRequest requestForMe] startWithCompletionHandler:
         ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *aUser, NSError *error) 
             if (!error) 
                 NSLog(@"User id %@",[aUser objectForKey:@"id"]);
             
         ];

【讨论】:

我正在寻找一种无需在 facebook 中运行新请求即可获取用户 ID 的方法(特别是,因此我不会使用异步请求) @Safari 我曾经使用过这种方法。它消耗的时间很少。这不是瓶颈。 这对我来说是个大问题,因为它是异步运行的……现在我必须等待它以某种方式完成。【参考方案3】:
[FBRequestConnection startWithGraphpath:@"/me"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          NSDictionary *result,
                                          NSError *error
                                          ) 
                          /* handle the result */
                          _fbId = [result objectForKey:@"id"];
                      ];

【讨论】:

以上是关于Facebook iOS sdk 获取用户 ID的主要内容,如果未能解决你的问题,请参考以下文章

如何从 iOS 上的 Facebook SDK 获取用户数据

Facebook iOS sdk 获取用户 ID

IOS Facebook SDK,获取用户信息

如何从 iOS 中的 Facebook SDK 获取用户信息?

在 iOS Facebook SDK 中获取并显示用户的头像

如何在 ios 中使用 facebook sdk 4.1 获取用户信息?