【问题标题】:Firebase Database values not savingFirebase 数据库值未保存
【发布时间】:2020-03-09 11:56:32
【问题描述】:

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

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

Firestore 创建了一个集合和文档,如果我从 Firestore 视图切换到实时数据库,数据库也有这个集合和文档。

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

我也尝试引用 /telemetry/data 并对其进行写入,但这没有用。当我将 CompletionListener 添加到 setValue 时,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 插件中执行此操作。不过,这似乎不太可能成为问题。

感谢任何帮助。谢谢!

【问题讨论】:

  • 嗯..我正在看这个“应用程序”的东西。现在看起来我正在使用默认应用程序。 Firebase 控制台显示我有两个项目,其中一个是椰子。我没有添加任何应用程序.. 这有关系吗?但是,没有可用的应用程序与我正在做的事情相匹配。
  • 不是 java 开发人员,但在 Node.js 中,通常使用“推送、更新、设置”将记录以键值对的形式插入 Firebase,类似于 firebase.database().ref("根节点").push({ ChatStartTime: new Date().toLocaleString() });
  • 感谢 ASP 的评论! setValueAsync 是设置操作,我也试过setValue。我试过推送一次,但没有更新。我认为如果 set 或 push 都不起作用,那么该更新也不会。我只是尝试过,但似乎没有什么不同。

标签: java firebase firebase-realtime-database firebase-admin intellij-plugin


【解决方案1】:

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

不管怎样,实时数据库现在正在运行!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多