在Firebase中使用Facebook登录时,我获得的用户ID与一般Facebook用户ID不同(仅限数字)。 Firebase已经生成了一个完全应用程序唯一的ID,这使我无法找到个人资料照片网址。
Firebase身份验证时提供的profileImageURL已过期,并且由于这些URL可能会过期,因此我无法将此类信息保存到Firebase数据库以供其他用户访问。假设某个用户暂时不重新认证他/她自己,使得此profileImageURL过期,除非用户再次登录,否则其他用户无法看到个人资料照片。如果用户多年来一直处于非活动状态怎么办?有没有其他方法来获取个人资料照片?
答案 0 :(得分:0)
我找到了解决方案。它存在于Firebase文档中:
id<FIRUserInfo> userInfo = [FIRAuth auth].currentUser.providerData[indexPath.row];
cell.textLabel.text = [userInfo providerID];
// Provider-specific UID
cell.detailTextLabel.text = [userInfo uid];
[userInfo uid]
是用户的实际Facebook ID。这是我可以用来获取最新的照片URL。