1
我刚刚将Facebook登录功能集成到我的Firebase应用程序中。我想在FIRDatabase中向用户添加一些额外的信息。这就是为什么我添加一个孩子用户的uid作为我的firebase数据库的标识符。如何将Facebook用户的uid存储在Firebase中?
当用户使用“正常”注册功能(没有脸书)时,一切都像黄油一样平稳。然而,现在我向Facebook注册表中添加了相同的信息,它给出了这个致命错误,当swift发现意外的时候发生了意外的错误,同时展开一个可选值。
我知道它必须是我添加到FIRDatabase的uid。但我还没有想出如何在其他地方使用uid。
var FirebaseUId: String!
func showEmailAddress() {
let accessToken = FBSDKAccessToken.current()
guard let accessTokenString = accessToken?.tokenString else {return}
let credentials = FIRFacebookAuthProvider.credential(withAccessToken: accessTokenString)
FIRAuth.auth()?.signIn(with: credentials, completion: { (user, error) in
if error != nil {
print("Something went wrong with our FB user:", error ?? "")
return
}
print("succesfullex logged in with our user: ", user ?? "")
self.FirebaseUId = user?.uid
})
FBSDKGraphRequest(graphPath: "/me", parameters: ["fields": "id, name, email"]).start { (connection, result, err) in
if err != nil {
return
}
print(result ?? "")
let data = result as! [String : AnyObject]
let email = data["email"] as? String
let username = data["name"] as? String
let userInfo: [String : Any] = ["uid" : self.FirebaseUId! ,
"username" : username!,
"Email" : email!,
"Passwort" : " ",
"Geschlecht" : " ",
"urltoImage" : " ",
"FußballPreferenz" : " ",
"BasketballPreferenz" : " ",
"FußballBesitz" : " ",
"BasketballBesitz" : " ",
"LeibchenBesitz" : " "]
var ref: FIRDatabaseReference!
ref = FIRDatabase.database().reference()
ref.child("users").child(self.FirebaseUId).setValue(userInfo)
}
}