有可能集成应用引擎和firebase实时数据库吗?

hfwmuf9z  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(83)

因此,我试图创建一个Web应用程序,该应用程序使用Google App Engine主机托管,并具有多个API端点。我有一个Flask应用程序,用于为所有有效端点运行。网站托管成功,它呈现基本的HTML。问题是,每当我尝试从Firebase实时数据库中获取该特定端点的数据时,我得到一个错误500内部服务器错误。这是我试图连接到Firebase数据库的方式。

firebase_admin.initialize_app(cred, {
        'databaseURL': f'https://{PROJECT_ID}-default-rtdb.firebaseio.com'
    }}

每当我尝试在本地主机上本地运行相同的应用程序时,我都可以成功地将其添加到数据库中,这表明Firebase管理员设置正确,所有密钥都正确。我已经将我的网站URL添加为授权域,但现在仍然有效。我想问这是否可能,如果可能,那么最佳的操作方案是什么?

but5z9lq

but5z9lq1#

根据Firebase Admin SDK的文档,您不需要在initialize_app()中指定凭据或URL:

default_app = firebase_admin.initialize_app()

初始化后,您可以使用Admin SDK完成以下类型的任务:

  • 实现自定义身份验证
  • 管理Firebase身份验证用户
    *读写实时数据库数据
  • 发送Firebase Cloud Messaging消息

AppEngine的默认服务帐户应已具有必要的权限:
对云服务的每个调用都需要进行身份验证和授权,包括从App Engine应用程序到其他云服务(如Cloud Storage)的调用。

默认情况下,App Engine应用对同一项目中的服务的调用是经过授权的。

如果服务帐户未经授权,则可以通过assigning in IAMthe pre-defined role roles/firebase.admin授予PROJECT_ID@appspot.gserviceaccount.com对Firebase Realtime Database的访问权限。

相关问题