【问题标题】:Attempting to save username from twitter user to Firebase database iOS app尝试将用户名从 twitter 用户保存到 Firebase 数据库 iOS 应用程序
【发布时间】:2018-04-04 00:55:35
【问题描述】:

我正在尝试将 twitter 用户用户名保存到数据库中以供以后参考我下面的代码正在执行但似乎没有访问数据库或将用户名保存到数据库中,我真的不知道为什么.我正在尝试获取用户名和用户 ID,以便我可以在应用程序的个人资料页面中检索有关用户的信息。因此,如果我可以避免将这些数据一起保存到数据库中,那也可以,但我认为不能这样做。

fileprivate func setupTwitterButton() {
    let twitterButton = TWTRLogInButton { (session, error) in
        if let err = error {
            print("Failed to login via Twitter: ", err)
            return
        }

        // debug statement
        //print("Successfully logged in using Twitter")

        HUD.show(.labeledProgress(title: nil, subtitle: "Signing In"))
        //we've authenticated twitter, time to log into firebase

        guard let token = session?.authToken else { return }
        guard let secret = session?.authTokenSecret else { return }
        let creds = FIRTwitterAuthProvider.credential(withToken: token, secret: secret)
        let dbref = FIRDatabase.database().reference()
        let usersref = dbref.child("users")



        let uid = session?.userID

        //let user = FIRAuth.auth?.signIn

        print("Creating user")

        let newUserReference = usersref.child(uid!)
        newUserReference.setValue(["username": session?.userName])

【问题讨论】:

  • session?.userName 有值吗?您是否在 Xcode 的调试区域中看到“创建用户”?你的数据库的规则怎么样,有没有检查过,看看能不能写点什么?
  • 我做了更多的测试,它似乎没有价值,我在调试区域看到“创建用户”。我实际上从firebase收到了权限错误。我认为情况并非如此,因为我已经在顶部登录了。加上应用程序的其余部分可以很好地写入数据库。显然我错过了一些东西。

标签: swift firebase twitter swift3 firebase-realtime-database


【解决方案1】:

好的,经过一些调试后,我出错的地方很简单。在对数据库进行身份验证之前,我试图写入数据库。一旦我在验证后将用于写入数据库的代码放入数据库,它就可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多