【问题标题】:Edit information in firebase, swift project在firebase,swift项目中编辑信息
【发布时间】:2016-03-09 09:31:44
【问题描述】:

如何更新 firebase 中的用户信息! 比如他的邮箱、密码、姓名等。

我会使用什么 firebase 功能?

【问题讨论】:

    标签: ios xcode swift email firebase


    【解决方案1】:

    这是一个非常模糊的问题,有很多答案,但这里是基础知识。

    假设您有这样的 Firebase 结构

    users
      uid_0
        user_name: "Bill"
        email: "bill@yipee.com"
    

    要将用户名从 Bill 更改为 Leeeeroy:

    var userNameRef = ref.childByAppendingPath("users/uid_0/user_name")
    userNameRef.setValue("Leeeeroy")
    

    以上是一个小例子。您也应该使用 .updateChildValues 进行调查。

    Firebase 网站上有一个非常好的数据写入指南,请查看!

    Saving Data

    如果您正在考虑修改实际的 Firebase 用户数据,而不是您创建的用户节点,请查看

    • (void)changeEmailForUser:(NSString *)email 密码:(NSString *)password toNewEmail:(NSString *)newEmail withCompletionBlock:(void (^)(NSError *error))block

    这是更改用户 Firebase 电子邮件的简单快速代码

    myRootRef.changeEmailForUser("bob@thing.com", password: "old_password", toNewEmail: "new_password") { (<#NSError!#>) -> Void in
        print("done!")
    }
    

    【讨论】:

    • 我明白了!我的答案的第二部分 changeEmailForUser 解决了这个问题。 Firebase 仅存储 2 项:电子邮件和密码,并且两者都有 API 调用。还有一个要求发送密码重置电子邮件的电话。所有调用都列在 firebase 网站上的 API 参考中。尝试使用我上面提到的 changeEmailForUser 调用,如果您遇到困难,请打开另一个有关该问题的问题并发布您的代码和示例 Firebase 结构(请提供文本)
    • 在编辑这个之前我好像不能提问! :(screenshot.net/w9lm2f8我该怎么做才能回来!我是stackoverflow的新手。
    • 这是您需要做的;根据您发布的代码,您正在尝试更改用户节点中电子邮件键的更改值。我的猜测是您想要更新该节点以及 Firebase 用户登录凭据。请更新您的问题以更具体,然后在您尝试过的问题中发布一些代码。发布您的代码(请简要 sn-p)和数据结构(再次,文本;Firebase 仪表板和导出)使其可搜索并复制/粘贴到答案中。请保持代码和结构简洁。然后我们可以查看并提供方向。
    • 好的,更清楚的问题。但是,既然我们了解了问题的范围,那么您发布的代码就非常离谱了。 Firebase 存储用户名(电子邮件)和密码,Firebase 在内部使用这些用户名来验证用户身份。 /users 节点是 you 创建的,用于保存有关用户的额外信息;他们的姓名、年龄等。因此,要更新您创建的 /users 节点,请使用标准 setValue 调用。要更新内部 Firebase 参数,请使用问题中的调用。但是,只需发送电子邮件,他们的电子邮件和密码,他们的密码。
    • 我确实使用了你所说的电话。但是,它没有用!仍然给我“处理请求时出错”
    猜你喜欢
    • 2011-02-03
    • 2015-01-10
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 2016-09-21
    • 2016-08-05
    相关资源
    最近更新 更多