0

I would like to set the database rules for my realtime database using the java sdk. I created a FirebaseDatabase object but I wasn't able to find out how to get/set the database rules using it.

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

I've found this piece of docs: https://firebase.google.com/docs/database/rest/app-management and tried

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

but I got only

com.google.firebase.database.DatabaseException: Invalid Firebase Database path: .settings/rules.json. Firebase Database paths must not contain '.', '#', '$', '[', or ']'

How to do it ?

Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
Clyde Barrow
  • 1,924
  • 8
  • 30
  • 60

1 Answers1

0

The .settings pseudo-node is not exposed in the Java Admin SDK. If you want to manipulate the rules from your Java code, you'll have to call the REST API from there.

Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807