【问题标题】:Firebase Realtime Database - how to manage database rules using java sdkFirebase 实时数据库 - 如何使用 java sdk 管理数据库规则
【发布时间】:2021-10-30 20:35:23
【问题描述】:

我想使用 java sdk 为我的实时数据库设置数据库规则。我创建了一个 FirebaseDatabase 对象,但我不知道如何使用它来获取/设置数据库规则。

val options = FirebaseOptions.builder()
    .setDatabaseUrl("https://my-database.europe-west1.firebasedatabase.app/")
    .setCredentials(GoogleCredentials.fromStream(File("/path/tom/my/key.json").inputStream()))
    .build()
val defaultApp = FirebaseApp.initializeApp(options)

val defaultDatabase = FirebaseDatabase.getInstance(defaultApp);
// and here I would like to fetch the current rules and be able to set the new one

我找到了这段文档:https://firebase.google.com/docs/database/rest/app-management 并尝试过

println(defaultDatabase.getReference(".settings/rules.json"))

但我只有一个

com.google.firebase.database.DatabaseException:Firebase 数据库路径无效:.settings/rules.json。 Firebase 数据库路径不得包含“.”、“#”、“$”、“[”或“]”

怎么做?

【问题讨论】:

  • Admin Node.js SDK 为此提供了getRules()setRules() API,但它们在Java 中尚不可用。

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


【解决方案1】:

.settings 伪节点未在 Java Admin SDK 中公开。如果您想从 Java 代码中操作规则,则必须从那里调用 REST API。

【讨论】:

  • 您知道 REST API 是否也可用于欧洲的数据库吗?
  • 是的,应该可以。如果没有,请告诉我(MCVE)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多