从电子邮件 Firebase 获取用户 ID(不是当前用户)

Posted

技术标签:

【中文标题】从电子邮件 Firebase 获取用户 ID(不是当前用户)【英文标题】:Get user ID from Email Firebase (not current user) 【发布时间】:2018-06-12 06:20:46 【问题描述】:

我有一封电子邮件,我需要获取此帐户的 ID。我使用电子邮件/密码登录方法,并且我有一个包含补充用户信息的集合。我该怎么做?

【问题讨论】:

首先,账户ID存储在哪里? 【参考方案1】:

你可以这样做:

-当用户注册时,将他们的相关用户信息保存在他们指定的用户 ID 下的一个名为“用户”的集合中。

-然后您可以使用查询来查找具有指定电子邮件地址的用户。

-查询可能是这样的:

db.collection("users").whereField("email", isEqualTo: emailYouHave)
.getDocuments()  (querySnapshot, err) in
    if let err = err 
        print("Error getting documents: \(err)")
     else 
        for document in querySnapshot!.documents 
            // This is where you would get the ID, there should only be one document
            print("\(document.documentID) => \(document.data())")
        
    

【讨论】:

好主意,但我试过了,但我需要对 1 到 200 封电子邮件执行此操作,因此我需要使用返回 ID 的函数。 @ChristopheRoulin 这是一个非常可靠的答案,它直接回答了您关于从电子邮件中获取用户 ID 的问题。您能否澄清一下我需要在 1 到 200 封电子邮件中执行此操作 的含义,因为最初的问题是关于一封电子邮件。 好的,你可以把上面的代码包装在一个带有'email'参数的函数中。

以上是关于从电子邮件 Firebase 获取用户 ID(不是当前用户)的主要内容,如果未能解决你的问题,请参考以下文章

获取firebase android中特定值的推送ID

Firebase:是不是可以从用户的电子邮件地址发送电子邮件? [关闭]

如何根据数据库用户 id(不是 uid)设置 firebase 规则

如何从firebase中的电子邮件中获取用户信息

如何从 Flutter 中的 Firebase 的 UID 获取任何用户的电子邮件? [复制]

从登录用户 Flutter/Firebase 获取文档列表