Как запустить Firebase JS SDK на рабочем столе Java с помощью Nashorn? - PullRequest
0 голосов
/ 27 сентября 2018

Причина, по которой я пытаюсь это сделать, я хочу использовать базу данных 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

Застрялс этой точки зрения.Или, возможно, это невозможно, или я ищу неверный путь ... Если это так, пожалуйста, укажите верный путь или объясните, почему это невозможно / не правильно.

...