代码之家  ›  专栏  ›  技术社区  ›  Outcast

“没有这样的文件或目录”,使用firebase_admin python库

  •  2
  • Outcast  · 技术社区  · 7 年前

    我想用firebase数据库检索一些数据,使用python的官方库( firebase_admin )而不是 pyrebase python-firebase .

    我尝试执行以下代码行:

    from firebase_admin import db
    from firebase_admin import credentials
    import firebase_admin
    
    cred = credentials.Certificate('https://project_name.firebaseio.com/.json')
    firebase_admin.initialize_app(cred)
    
    result = db.Query.get()
    

    但是我得到了以下错误:

    FileNotFoundError: [Errno 2] No such file or directory: 'https://project_name.firebaseio.com/.json'
    

    即使当我在浏览器上输入这个url时 project_name 替换为真实的项目名)我正在从数据库中获取数据的json。

    我怎样才能纠正这个错误?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Frank van Puffelen    7 年前

    这个 Certificate 应该指向 地方的 使用您的凭据/证书存档。相反,您将它指向数据库url,它不是本地文件,因此库将抛出一个错误。

    documentation on initializing the Python SDK :

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import db
    
    # Fetch the service account key JSON file contents
    cred = credentials.Certificate('path/to/serviceAccountKey.json')
    
    # Initialize the app with a service account, granting admin privileges
    firebase_admin.initialize_app(cred, {
        'databaseURL': 'https://databaseName.firebaseio.com'
    })
    
    # As an admin, the app has access to read and write all data, regardless of Security Rules
    ref = db.reference('restricted_access/secret_document')
    print(ref.get())