繁体   English   中英

如何在Firebase中访问用户的Facebook公共信息?

[英]How to access the user's facebook public information in firebase?

我已请求并获得我的应用的批准public_profileemail

在单击“ login with Facebook按钮后,我请求这两个权限:

let fbLoginManager = FBSDKLoginManager()
fbLoginManager.logIn(withReadPermissions: ["public_profile", "email"], from: self) { (result, error) in

成功的登录流程之后,我将转到用户已验证的部分。 (也许我做的太晚了,但是不确定我还应该尝试在哪里访问个人资料信息?)

override func viewDidLoad() {
        super.viewDidLoad()

        FIRAuth.auth()!.addStateDidChangeListener() { auth, user in
            if let user = user {
                FIRDatastore.shared.setUser(user: User(authData: user))
                self.performSegue(withIdentifier: self.loginToList, sender: nil)
            }
        }
    }

在这种情况下, user对象的类型为FIRUser类。 其中应包含公共资料信息。 但是,我仅在authData.providerData [0]下看到一部分信息。

providerID,userID,displayName,photoURL和电子邮件。

我看不出性别或其他任何从public_profile作为解释在这里

我想念什么?

根据文档,这些是您可以访问的唯一用户属性:

在此处输入图片说明

类似于User对象的属性:

在此处输入图片说明

我猜测Facebook身份验证仅用于电子邮件和密码验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM