Python 帐户创建和登录的Firebase错误处理-Pyrebase
我正在尝试处理用户注册或登录我的应用程序时出现的错误。我试图处理的第一个错误是,当用户试图使用数据库中已经存在的电子邮件创建帐户时。我得到以下Python 帐户创建和登录的Firebase错误处理-Pyrebase,python,error-handling,firebase-authentication,pyrebase,Python,Error Handling,Firebase Authentication,Pyrebase,我正在尝试处理用户注册或登录我的应用程序时出现的错误。我试图处理的第一个错误是,当用户试图使用数据库中已经存在的电子邮件创建帐户时。我得到以下HTTPError: requests.exceptions.HTTPError: [Errno 400 Client Error: Bad Request for url: https://www.googleapis.com/identitytoolkit/v3/relyingparty/signupNewUser?key=] { "error
HTTPError
:
requests.exceptions.HTTPError: [Errno 400 Client Error: Bad Request for url: https://www.googleapis.com/identitytoolkit/v3/relyingparty/signupNewUser?key=] {
"error": {
"code": 400,
"message": "EMAIL_EXISTS",
"errors": [
{
"message": "EMAIL_EXISTS",
"domain": "global",
"reason": "invalid"
}
]
}
}
我想访问下面的“message”:“EMAIL\u EXISTS”
值,但我不确定如何操作。我添加了以下代码,但会产生以下错误:
error_message = error["error"]["message"]
TypeError: 'HTTPError' object is not subscriptable
经过多次搜索,我找到了这个问题的答案:
except requests.HTTPError as e:
error_json = e.args[1]
error = json.loads(error_json)['error']['message']
if error == "EMAIL_EXISTS":
print("Email already exists")
我试过你在评论中提供的代码,但我无法使用。可能是请求模块的版本问题或其他问题 但是,以下代码适用于我的情况:
except requests.exceptions.HTTPError as e:
error_json = e.args[1]
error = json.loads(error_json)['error']['message']
if error == "EMAIL_EXISTS":
print("Email already exists")
是的,
requests.exceptions.HTTPError
而不是requests.HTTPError
我不确定你是否会在这么晚的时候看到这一点,但我尝试将其添加到我的代码中,发现错误“json”没有定义。你知道如何解决这个问题吗?你导入json了吗?
except requests.exceptions.HTTPError as e:
error_json = e.args[1]
error = json.loads(error_json)['error']['message']
if error == "EMAIL_EXISTS":
print("Email already exists")