【问题标题】:I have firebase user id, but I can't access name我有 firebase 用户 ID,但我无法访问名称
【发布时间】:2016-09-11 04:51:06
【问题描述】:

所以我正在制作一个聊天应用程序,我需要访问用户的姓名。但我只有用户 ID。有什么方法可以搜索整个数据库并找到与我具有相同 id 的用户?

Firebase Tree Setup Image

这是我的 Firebase 树设置。所以我有用户ID:例如。 1JIalS7s85PgucxZgGi48ao9Oaf2

但是,我没有用户名:例如。假小子

有没有办法找到名字

【问题讨论】:

  • 你只有id是什么意思? id 是用户的属性吗?还是用户的钥匙?
  • 给你的 JSON 树..
  • Firebase 身份验证不提供公共 API 来通过用户的 uid 查找用户名。出于这个原因,许多开发人员在他们的 Firebase 数据库中存储了一个用户列表,正如 Callam 的回答所示。

标签: firebase swift2 firebase-realtime-database firebase-authentication


【解决方案1】:

您可以像这样存储用户的姓名。

{
    "users": {
        "{uid}": {
            "name": "John"
        }
    }
}

现在使用用户的 uid,您可以像这样快速获取他们的名字:

let ref = FIRDatabase.database().referenceWithPath("users/\(uid)/name")

ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
    if let name = snapshot.value as? String {
        print(name)
    }
})

【讨论】:

  • 堆栈跟踪好吗?
  • 不过,我需要在变量中使用它,所以我这样做了
  • var messageSenderName: String?
  • messageSenderName = 名称
  • 但它给了我一个没有任何消息的屏幕
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
  • 2021-10-13
  • 2019-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多