为什么我在 Python Firebase-admin 的 initialize_app() 函数中会收到这个错误?

5

当我尝试连接 Google Firebase 实时数据库时,出现了以下错误:

ValueError: The default Firebase app already exists. This means you called 
initialize_app() more than once without providing an app name as the second argument. In 
most cases you only need to call initialize_app() once. But if you do want to initialize 
multiple apps, pass a second argument to initialize_app() to give each app a unique name.

这是我的代码:

import firebase_admin
from firebase_admin import credentials
from firebase_admin import db

cred = credentials.Certificate('firebase-sdk.json')

firebase_admin.initialize_app(cred, {
'databaseURL': 'https://test-139a6-default-rtdb.firebaseio.com/'
})
2个回答

4
你只需要初始化(创建)应用程序一次。创建完应用程序后,使用get_app即可:
# The default app's name is "[DEFAULT]"
firebase_admin.get_app(name='[DEFAULT]')

谢谢回复,安德烈。但我想知道,如何在环境中查看我所有的Firebase应用程序? - Burak Berzener
结合这个答案和@Dharmaraj的解决了我的问题。 - Tong Jing Yen

4

您只需要初始化Admin SDK一次。您可以使用以下if语句检查Admin SDK是否已经初始化:

if not firebase_admin._apps:
    firebase_admin.initialize_app(cred, {
        'databaseURL': 'https://test-139a6-default-rtdb.firebaseio.com/'
    })

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接