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