1

私はすべてのユーザーのために多くの投稿IDを保持するために "好き"のルートノードを持っています。しかし、facebookでログインした後、毎回ノードがユーザーからの削除/更新を好む。問題はありますか?どうすればこの事例を防ぎ、 "好きな"ルートノード以外を更新できますか?Firebaseで再度ログインした後にサブルートノードを削除しますか? - Swift

   let accessToken = FBSDKAccessToken.currentAccessToken().tokenString 

       DataService.ds.REF_BASE.authWithOAuthProvider("facebook", token: accessToken, withCompletionBlock: { 
        error, authData in 


        if error != nil { 
         print("Login failed. \(error)") 
        } 
        else { 

         print("Successfully logged in with facebook. \(accessToken)") 
         print("Logged in! \(authData)") 

         let dateFormatter = NSDateFormatter() 
         dateFormatter.dateFormat = "MMMM dd, yyyy hh:mm" 
         let stringDate = dateFormatter.stringFromDate(NSDate()) 
         print("createdAt: " + stringDate) 

         let user = 
         ["id": authData.providerData["id"] as! String, 
         "accessToken": authData.providerData["accessToken"] as! String, 
         "provider": authData.provider!, 
         "displayName": authData.providerData["displayName"] as! String, 
         "email": authData.providerData["email"] as! String, 
         "profileImageURL": authData.providerData["profileImageURL"] as! String, 
         "token": authData.token as String, 
         "createdAt": stringDate] 

         DataService.ds.createFirebaseUser(authData.uid, user: user) 


         NSUserDefaults.standardUserDefaults().setValue(authData.uid, forKey: KEY_UID) 
         self.performSegueWithIdentifier(SEGUE_LOGGED_IN, sender: nil) 

        } 


       }) 

さらに、DataServiceクラスのcreateFirebaseUser関数。

func createFirebaseUser(uid: String, user: Dictionary<String, String>) { 
    REF_USERS.childByAppendingPath(uid).setValue(user) 
} 
+0

私はそれを解決し、以下に公開しました。 – tobeiosdev

答えて

0

私は自分でこの問題を解決してきた、私が最初にアカウントを作成した後updateChildValues()を行う必要があることを学びました。このスコープを共有することは、同じ問題に遭遇した他の人に役立つ可能性があります。

enter image description here

関連する問題