Firebase数据库值未保存

问题描述 投票:0回答:1

我正在尝试使用Firebase Admin SDK将值保存到Firebase实时数据库,但是无论我做什么,都不会保存任何值。与教程不同,我从一个完全空的数据库开始:

enter image description here

  • 我已连接到数据库(已使用.info / connected reference和ref.addValueEventListener验证)
  • 允许安全规则读取和写入
  • 使用服务帐户,并且该服务帐户的json文件似乎已正确解析和加载
  • 如果创建根引用对象,并打印其值,则它正确指向数据库URL

Firestore已创建了集合和文档,如果我从Firestore视图切换到实时数据库,则数据库也将具有此集合和文档。

enter image description here

但是,如果我按下根链接,则文档和集合消失。我也经常看到“数据”为空。数据是文件吗?田野?只是说整个数据库是空的吗?有时,它在“ data:null”和“ coconut-xxx:null”之间交替,这很奇怪。

我还尝试引用/ telemetry / data并将其写入,但这没有用。当我向SetValue添加CompletionListener时,似乎从未调用过CompletionListener,因此连接处于挂起状态或其他原因?

我的代码:

String url = databaseUrl.getProtocol() + "://" + databaseUrl.getHost();

InputStream stream = getClass().getClassLoader().getResourceAsStream("firebaseCredentials.json");
GoogleCredentials credentials = GoogleCredentials.fromStream(stream);

FirebaseOptions options = new FirebaseOptions.Builder()
                                             .setCredentials(credentials)
                                             .setDatabaseUrl(url)
                                             .build();

FirebaseApp.initializeApp(options);

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.setValueAsync("12345");

我也曾尝试像在本教程中一样发送地图,但这也不起作用。

我想可能唯一的其他问题是我正在IntelliJ Android Studio插件中进行此操作。不过,这似乎不太可能成为问题。.

感谢您的帮助。谢谢!

java firebase firebase-realtime-database firebase-admin intellij-plugin
1个回答
0
投票

我发现了问题。我不知道这是怎么发生的,但是我的IntelliJ资源文件夹中的服务帐户JSON文件与用于椰子项目的服务帐户之间不匹配...

无论如何,实时数据库现在正在工作!

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