Facebook API:如何获取FBlogin用户的唯一ID? 来自API的ID与v2.0中的“真实”用户ID不匹配

- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user { self.profilePictureView.profileID = user.objectID; self.nameLabel.text = user.name; NSLog(@"My ID:%@", user.objectID); } 

我试图使用上面的代码打印用户ID。 而我得到的是3176144783XXXXX

但是,我使用这个在线工具http://findmyfacebookid.com/得到了一个不同的。 结果是1000042591XXXXX

有谁知道区别? 为什么我的应用程序和“findmyfacebookid.com”为同一用户收到不同的用户ID?

注意:我的移动应用程序需要使用FB唯一ID来创build我自己的用户数据库。 所以这就是我需要一个唯一ID的原因。

从Facebook 2.0版本的API开始,返回到你的应用程序的用户ID被限制在你的应用程序中(即每个应用程序接收到给定用户的不同标识符) – 你无法比较该网站告诉你的是什么,当你调用user.objectID因为他们故意不同的string

使用返回给您的应用程序的ID作为您应用程序中用户的标识符 – 无需尝试查找“真实”或“旧”用户标识 – 您没有理由需要使用给予其他用户的用户标识应用ID

有关于从v1.0到v2.0的更改的更多信息,请访问: https : //developers.facebook.com/docs/apps/upgrading

而应用程序ID则在这里专门讨论,其中包括一个让具有多个应用程序的开发人员为使用多个应用程序的用户核实ID的方法: https : //developers.facebook.com/docs/apps/upgrading# upgrading_v2_0_user_ids