在Heroku中使用pyrebase出现问题

2024-03-28 15:08:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从Heroku后端访问firebase数据库。我使用的是pyrebase包,因为它似乎比firebase包工作得更好。但是,虽然我可以在本地安装的python上访问firebase数据,但我在Heroku上运行时遇到了一个问题。因此,要配置pyrebase,如下所示:

config = {
    "apiKey": os.environ.get("firebase_api"),
    "authDomain": os.environ.get("firebase_auth_domain"),
    "databaseURL": os.environ.get("firabase_database_url"),
    "storageBucket": os.environ.get("firebase_storage_bucket"),
    "serviceAccount": os.environ.get("firebase_services_account")
}
fb = pyrebase.initialize_app(config)
email = os.environ.get("firebase_email")
pw = os.environ.get("firebase_email_password")
auth = fb.auth()
user = auth.sign_in_with_email_and_password(email=email, password=pw)

然后可以创建如下数据库对象:

db = fb.database()

最后,您可以像这样访问数据:

data = db.child("Path").child("To").get(user["Data"]).val()

当我在本地运行代码时,所有这些都可以正常工作。但是,当我部署到Heroku时,我对db = fb.database()行有一个问题,我得到了错误消息:

'NoneType' object has no attribute 'endswith'

我不相信问题出在我的数据库配置上,因为它在本地工作。有人知道这条线路上的错误信息是什么意思吗?你知道吗

我查了if fb is None,结果不是。fb是一个pyrebase对象:<pyrebase.pyrebase.Firebase object at 0x7f509d433c50>


Tags: 数据authconfig数据库dbgetherokufb