为什么我找不到一些使用 firebase api 的用户?

问题描述

我正在尝试使用管理 API 从 firebase 函数中检索用户

完成工作的代码是:

async function getUserByUid(uid: string) {
    const user = await admin.auth().getUser(uid);
    return mapUser(user);
}

在我的日志中,我可以看到 2 个获取用户的请求,一个有效,另一个无效。

工作

5:33:19.911 pm api 收到要求学生获取 uid 的请求

5:33:22.509 pm api 函数执行耗时 2604 毫秒,完成 状态码:304

不工作

11:47:08.849 pm api 收到要求学生获取 uid 的请求

11:47:10.983 pm api 发生错误 { 错误:没有与提供的用户记录相对应 标识符。 在 FirebaseAuthError.FirebaseError [作为构造函数] (/workspace/node_modules/firebase-admin/lib/utils/error.js:42:28) 在 FirebaseAuthError.PrefixedFirebaseError [作为构造函数] (/workspace/node_modules/firebase-admin/lib/utils/error.js:88:28) 在新的 FirebaseAuthError (/workspace/node_modules/firebase-admin/lib/utils/error.js:147:16) 在 /workspace/node_modules/firebase-admin/lib/auth/auth-api-request.js:518:15 在 /workspace/node_modules/firebase-admin/lib/auth/auth-api-request.js:1476:13 在 process._tickCallback (internal/process/next_tick.js:68:7) errorInfo: { code: 'auth/user-not-found',信息: '没有与提供的标识符对应的用户记录。' },codePrefix: 'auth' }

在这两种情况下,我都可以在 firbase 管理员的身份验证/用户部分找到用户。两者的 uid 绝对是正确的。两个用户都没有被禁用。

我的函数在 australia-southeast1 区域运行。 export const api = functions.region("australia-southeast1")

我不知道为什么相同的代码对某些用户有效,而对其他人却不起作用。

解决方法

事实证明,在我阅读了有问题的用户之后,我试图从他们的一名学生那里检索不存在的数据。谜底解开。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...