上传到firebase数据库时出错,未经授权的请求

时间:2017-04-24 09:36:18

标签: python database firebase firebase-realtime-database

我目前正在开发我的应用程序,并且我正在我的firebase数据库上传许多信息。我的算法会自动写入我的firebase数据库,有时候,在写入2,000(有时甚至更少)之后,我就会出现这个错误。我知道它可能与auth规则有关,但我不知道 该怎么办。

Traceback (most recent call last):
  File "top1000.py", line 168, in <module>
    db.child("Artistes")....:""})
  File "/usr/local/lib/python2.7/dist-packages/pyrebase/pyrebase.py", line 301, in set
    raise_detailed_error(request_object)
  File "/usr/local/lib/python2.7/dist-packages/pyrebase/pyrebase.py", line 448, in raise_detailed_error
    raise HTTPError(e, request_object.text)
requests.exceptions.HTTPError: [Errno 401 Client Error: Unauthorized for url: https://silent-fuze-...] {
  "error" : "Unauthorized request."
}

我想以管理员身份写入我的数据库。这是我的主算法中的代码。

config = {
    "apiKey": "...",
    "authDomain": "...",
    "databaseURL": "...",
    "projectId": "...",
    "storageBucket": "...",
    "messagingSenderId": "...",
    "serviceAccount": "clef.json"
}

firebase = pyrebase.initialize_app(config)
db = firebase.database()

这是我的火力计规则中的一个。

{
  "rules": {
    ".read": "auth == null",
    ".write": "auth == null"
  }
}

1 个答案:

答案 0 :(得分:0)

您正在使用:

{
  "rules": {
    ".read": "auth == null",
    ".write": "auth == null"
  }
}

它允许对您应用的经过身份验证的用户进行完全读写访问 这意味着如果用户未经过身份验证,则他无法访问数据,这是您出错的原因 您尝试访问而无需身份验证。

您可以使用Firebase Authentication让用户登录您的应用

有关安全here的更多信息。