- (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.
解决方法
从Facebook API v2.0开始,返回到您应用的用户ID范围限定在您的应用中(即每个应用都会收到任何给定用户的不同标识符) – 您无法比较该网站告诉您的内容与您的应用收到的内容当你调用user.objectID时,因为它们是故意不同的字符串
使用返回到您应用的ID作为应用中用户的标识符 – 无需尝试查找“真实”或“旧”用户ID – 您没有理由需要使用提供给任何其他用户的用户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