python - 用于帐户创建和登录的Firebase错误处理-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": {
     "code": 400,
     "message": "EMAIL_EXISTS",
     "errors": [
       {
         "message": "EMAIL_EXISTS",
         "domain": "global",
         "reason": "invalid"
       }
     ]
   }
 }

我想在下面访问"message": "EMAIL_EXISTS"值,但是我不确定该怎么做。我添加了以下代码,但产生以下错误:
     error_message = error["error"]["message"]
 TypeError: 'HTTPError' object is not subscriptable
import requests
import pyrebase

class CreateAccount():

    def create_account(self):

        try:
            auth.create_user_with_email_and_password(self.email, self.password)

        except requests.exceptions.HTTPError as error:
            print(error)
            error_message = error["error"]["message"]
            print(error_message)

最佳答案

经过大量搜索后,我找到了此问题的答案:

        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")

关于python - 用于帐户创建和登录的Firebase错误处理-Pyrebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61488376/

相关文章:

python - 在谷歌应用引擎中,如何遍历表单字段(python,wsgiref.handlers)

python - 如何创建多级json文件,然后从python读取特定值?

error-handling - 检查proc追加是否成功

ios - URLSession.shared.dataTask 接收数据的正确方式

ios - 模拟 iOS Firebase Auth 登录方法

python - pprint 排序字典而不是集合?

python - GDAL 多边形化命令行和 python

matlab - 为什么轴在Matlab循环中被删除?

java - 参数 'pathString' 为空

react 原生的 Firebase 身份验证错误?