Facebook iOS API:如何获取公开个人资料 URL

Posted

技术标签:

【中文标题】Facebook iOS API:如何获取公开个人资料 URL【英文标题】:Facebook iOS API: how to get public profile URL 【发布时间】:2016-06-23 06:43:56 【问题描述】:

我正在使用FBSDK 来获取有关用户的基本信息,如下所示:

[[[FBSDKGraphRequest alloc] initWithGraphpath:@"me"
                                   parameters:@@"fields" : @"id, about, birthday, email, first_name,last_name, link, middle_name, name, name_format, picture"
                                   HTTPMethod:@"GET"]
 startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) 
     if ([error.userInfo[FBSDKGraphRequestErrorGraphErrorCode] isEqual:@200]) 

         NSLog(@"error getting profile info");


      else 

         NSLog(@"success getting facebook profile %@", result);

     
 ];

但是,link 字段返回如下值:https://www.facebook.com/app_scoped_user_id/283581333995846/ 当我在浏览器中打开此链接时,它会要求我在查看此个人资料之前登录到 Facebook,但当我打开另一个浏览器时(在我的台式计算机上) 并登录此个人资料,链接将是 https://www.facebook.com/profile.php?id=100012619704737,如果我将此链接提供给任何人,他们都可以打开它而无需登录 Facebook 来查看个人资料。

我的问题是:

    这个数字代表什么:100012619704737?

    如何获取无需登录Facebook即可在浏览器上打开的Facebook个人资料网址(即:https://www.facebook.com/profile.php?id=100012619704737)?

附言出于隐私原因,以上两个数字都已更改

【问题讨论】:

【参考方案1】:

数字代表用户的“真实”个人资料 ID。您不应该能够将应用范围的 id 转换为真实的。不过可能会有“黑客”。

如果您需要将您的应用用户链接到 Facebook 个人资料,请使用 app_scoped_user_id 链接并让用户登录。

【讨论】:

以上是关于Facebook iOS API:如何获取公开个人资料 URL的主要内容,如果未能解决你的问题,请参考以下文章

我如何从 facebook 公开资料 Facebook IOS Swift SDK 中获取性别

假设我无法通过图形 api 获取全局用户 ID,如何使用应用程序打开 facebook url

获取 Facebook API 个人资料图片 ios Swift

无法使用 API 图表获取公开 Facebook 状态

Facebook API - 如何通过 Facebook API 获取 Facebook 用户的个人资料图片(无需用户“允许”应用程序)

Facebook API:如何在facebook中获取登录用户的关注者列表[重复]