python - 在 python admin sdk 中处理 Firebase 错误

标签 python firebase firebase-authentication

处理这个错误的正确方法是什么?我创建了两个堆栈问题,但两个答案都不再有效。这是我的代码:

from firebase_admin import auth as admin_auth

try:
    uid = 'testUID'
    email = 'test@test.com' # test@test.com already exists
    admin_auth.update_user(uid, email=email)
except Exception as e:
    print(e)

我得到以下响应:

Failed to update user: testUID. Server response: { "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "EMAIL_EXISTS" } ], "code": 400, "message": "EMAIL_EXISTS" } }

我是否正确地创建了异常?如果我使用:

except ValueError as e:

我得到一个字符串形式的响应。我想要的是获取状态/代码和消息。

最佳答案

Admin SDK 在 Auth 方法中抛出 2 个潜在异常:

  • 如果参数格式不正确,则出现 ValueError(与您期望的 ValueError 用途差不多)
  • firebaseadmin.auth.AuthError 如果出现上游故障,意味着 firebase 出现问题或无法找到、创建用户等。

后者可以通过查看异常的属性来检查。

try:
    auth.get_user(uid)
except auth.AuthError as exc:
    print(exc.code)

很明显,ValueError 没有exc.code。

关于python - 在 python admin sdk 中处理 Firebase 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47620984/

相关文章:

python - 文件中的行是否读取整个文件

python - Fabric put 命令给出 fatal error : 'No such file' exception

VI 中的 Python 测试代码

angularjs - 使用 AngularFire 时,光标会在键入时跳到字段末尾

ios - Firebase Facebook OAuth在iOS设备上返回null

python - Django 不显示带有 debug True 的图像

java - 更新 firebase 和 Google 服务依赖项后无法构建项目

android - 有没有更好的方法可以在协程中设置n次监听器?

java - 任务显示的 Firebase AuthResult 无法解析符号

android - firebase auth UID 是否过期?