我想通过防火墙数据库检索一些数据,使用的是用于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。
如何纠正此错误?
发布于 2018-06-18 14:42:27
Certificate应该指向带有凭据/证书的本地文件。相反,您将它指向数据库URL,该URL不是本地文件,因此库会抛出一个错误。
从credentials.Certificate('path/to/serviceAccountKey.json')导入数据库#获取服务帐户密钥JSON文件内容cred = db.reference('restricted_access/secret_document') #从firebase_admin导入firebase_admin,使用服务帐户初始化应用程序,授予管理特权firebase_admin.initialize_app(cred,{ 'databaseURL':'https://databaseName.firebaseio.com‘}) #作为管理员,应用程序有权读取和写入所有数据,而不管安全性规则ref =db.reference(’restricted_access/secret_document‘) print(ref.get())
发布于 2021-03-31 11:13:00
试试这个,这个对我有用
从firebase_admin导入凭据、防火墙、initialize_app #initialize_app DB data = os.path.abspath(os.path.dirname(__file__)) + "/serviceAccountKey.json“cred = credentials.Certificate(data) default_app = initialize_app(cred) db = firestore.client()导入os
https://stackoverflow.com/questions/50908486
复制相似问题