如何访问另一个firebase项目的数据

问题描述 投票:3回答:3

我在firebase上创建了实时数据库,从一个Android应用程序即时发送数据和其他应用程序(第二个单独的应用程序不同于应用程序即时使用发送数据,如果数据发生变化,我只想重新接收)我希望接收该数据,我怎么能这样做,因为如果我试图在onCreate中这样访问

FirebaseApp.initializeApp(this);

DatabaseReference data = FirebaseDatabase.getInstance()
            .getReference("https://my-project.firebaseio.com/nodeName");

我正在获得第一个initialzeApp我也尝试从我的应用程序添加google-service.json发送数据,它说它与项目名称不同,我怎么能这样做firebase结构是这样的

{ https://my-project.xxxx somenumbers
    {
        node{
               lat : "value"
               lng : "value"
            }
    }
}
java android firebase firebase-realtime-database nosql
3个回答
3
投票

对于您在Android Studio中创建的每个要与特定Firebase项目一起使用的Android应用,您还应该在Firebase控制台中创建一个Android应用。您可以通过转到overview page of your project并单击“添加其他应用程序”来执行此操作。


0
投票

在Firebase控制台中,可以选择在同一项目中添加多个应用。属于同一项目的所有应用程序都可以访问相同的Firebase数据库。每个应用程序都有自己的.json文件连接到同一个项目。因此,如果您想从任何其他应用程序访问数据库,则需要在控制台上将该应用程序与同一Firebase项目连接。要获取值,请对节点进行引用并对其应用值更改侦听器。 Official documentation会帮助你


0
投票

你的代码应该是这样的

DatabaseReference otherDB_data = FirebaseDatabase
.getInstance("https://my-project.firebaseio.com/nodeName")
            .getReference();

代替

DatabaseReference otherDB_data = FirebaseDatabase.getInstance()
            .getReference("https://my-project.firebaseio.com/nodeName");

并且不要忘记在您的应用程序中使用authenticate来获取实时数据库访问权限

注意:如果实时数据库规则类似,则进行身份验证是无用的

{
  "rules": {
    ".read": "auth == null",
    ".write": "auth == null"
  }
}

所以每个人都已经获得了许可

您可以根据需要多次执行此操作,但一次只能与任何给定的数据库实例建立一个连接。

资料来源:Firebase Documentation - Connect your app to multiple database instances

© www.soinside.com 2019 - 2024. All rights reserved.