【发布时间】: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