Причина, по которой я пытаюсь это сделать, я хочу использовать базу данных Firebase в реальном времени из настольного приложения, написанного на Java.Но я не могу использовать Admin SDK, потому что он будет использоваться конечным пользователем, и я не хочу предоставлять служебные ключи.
На данный момент я могу читать и записывать данные в firebase, используя Firebase RestAPI, но яЯ не могу получить данные, как только они становятся доступными, нужны некоторые функции, такие как "childEventListener".И я подумал, может быть, я смогу добиться этого, запустив rest api через движок javascript.Вот что я пытаюсь сделать:
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("nashorn");
engine.eval(new FileReader("firebase-listener.js"));
и в firebase-listener.js
load("firebase.js");
var config = {
apiKey: "...",
authDomain: "xxx.firebaseapp.com",
databaseURL: "https://xxx.firebaseio.com",
projectId: "xxx",
storageBucket: "xxx.appspot.com",
messagingSenderId: "..."
};
var defaultApp = firebase.initializeApp(config);
И я получаю
javax.script.ScriptException: TypeError: Cannot read property "fetch" from
undefined in firebase.js at line number 1
Застрялс этой точки зрения.Или, возможно, это невозможно, или я ищу неверный путь ... Если это так, пожалуйста, укажите верный путь или объясните, почему это невозможно / не правильно.