ios - Facebook iOS API : how to get public profile URL

标签 ios facebook facebook-graph-api fbsdk

我正在使用 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 即可打开它查看个人资料。

我的问题是:

  1. 这个数字代表什么:100012619704737?

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

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

最佳答案

该数字代表用户的“真实”个人资料 ID。您不应该能够将应用程序范围的 ID 转换为真实的 ID。但可能存在“黑客行为”。

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

关于ios - Facebook iOS API : how to get public profile URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37984078/

相关文章:

ios - 从更新的 Xcode 应用程序将视频上​​传到 youtube

ios - 试图从 UIImagePickerController 中提取 GPS 元数据,但 NSLog 显示为空

ios - IGListKit - IGListSectionController 中的动态 .minimumLineSpacing

facebook - 过去两年中给定位置的所有 facebook 事件列表

ios - 在 Apples MultipleDetailViews Example 中加载已经初始化的 DetailViewControllers

Javascript SDK 删除请求发出意外的 OAuthException

facebook - 如何在 Facebook 页面上发帖?

Android - Facebook SDK 获取用户名 - Request.GraphUserCallback 返回 null

iphone - 如何使用 facebook graph api 获取与好友相关的照片?

android - 如何在 android 的 ListView 中处理大位图?