首页 > 解决方案 > 在与另一个 Google Cloud 项目不同的项目下连接 Firebase 项目

问题描述

我目前有2 个 firebase/google 云项目。一个用于前端,一个用于托管应用程序引擎的后端。我想使用 firebase 从 FCM 令牌发送推送通知。

我正在使用的代码如下:

Firebase.app = admin.initializeApp();

这样做是因为它使用了我的后端 firebase 项目,而不是我的前端的 firebase 项目。要连接到不同项目的 firebase,据我所知,我必须执行以下操作:

Firebase.app = admin.initializeApp({
          credential: admin.credential.applicationDefault(),
        });

而且我需要一个名为的环境变量GOOGLE_APPLICATION_CREDENTIALS ,它必须指向一个google-credentials.json包含 JSON 对象的文件,该对象具有不同应用程序的 google 凭据。

我没有上传我的 google 凭据 json 文件,因为我正在使用我的 Github 中的云构建。我正在尝试以下方法:创建json对象的Base64字符串并将其存储在一个变量中,然后从解码的base64字符串创建一个json文件,然后指向GOOGLE_APPLICATION_CREDENTIALS创建的文件。但是谷歌应用引擎不允许写入文件,所以这是一个死胡同,除非有什么东西可以让我写入文件。

有什么方法可以将前端的firebase项目链接到我后端的google cloud项目,以便google cloud项目直接链接前端的firebase项目。如果没有,那么有没有办法可以轻松地将 firebase 项目从前端 firebase 项目迁移到后端 firebase 项目?

任何建议都会有很大帮助。谢谢!

标签: androidfirebasegoogle-app-enginegoogle-cloud-platformfirebase-cloud-messaging

解决方案


没有直接的方法可以将 Firebase 应用程序从一个项目迁移到另一个项目。您可以参考这个 stackoverflow线程来找到它。此外,也无法将 App Engine 应用程序从一个项目迁移到另一个项目。相反,您必须在新项目中部署 App Engine 应用程序。

因此,您的关注范围缩小到哪一个对您来说更容易。我建议将 App Engine 应用程序部署在您的 Firebase 前端已经存在的同一个项目中。因为它看起来更容易,因为您只需更改 SDK 或命令行界面中的默认项目配置并遵循此文档


推荐阅读