Невозможно записать данные в FireStore с помощью FireStore Admin SDK (Java) - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь добавить некоторые данные в облачную базу данных firestore с помощью java admin sdk. Я инициализирую как в документах:

InputStream serviceAccount = Main.class.getClassLoader().getResourceAsStream("xxx-service-account.json");
GoogleCredentials credentials = 
GoogleCredentials.fromStream(serviceAccount);

FirestoreOptions firestoreOptions = FirestoreOptions.newBuilder().setTimestampsInSnapshotsEnabled(true).build();

Firestore firestore = firestoreOptions.getService();
FirebaseOptions options = new FirebaseOptions.Builder()
                        .setCredentials(credentials)
                        .build();

FirebaseApp.initializeApp(options);
Firestore db = FirestoreClient.getFirestore();

А потом я пытаюсь добавить некоторые данные следующим образом:

Map<String, Object> docData = new HashMap<>();
        System.out.println("DOCTOR LIST SIZE: "+doctorList.size());
        for (Doctor doctor: doctorList) {
            docData.put("name", doctor.getName());
            ApiFuture<WriteResult> future = 
            db.collection("Doktor").document().set(docData);

            System.out.println("FUTURE : "+future.toString());
            ApiFutures.addCallback(future, new ApiFutureCallback<WriteResult>(){
            @Override
            public void onFailure(Throwable t) {
                System.out.println("PUSH DOCTORS FAILURE: "+t.getCause());
            }

            @Override
            public void onSuccess(WriteResult result) {
                System.out.println("PUSH DOCTORS SUCCESS!");
            }
        });

Но я не могу записать какие-либо данные в пожарный. Future.isDone () всегда ложно. Может ли кто-нибудь помочь мне понять, что я делаю здесь неправильно? Любое предложение? Спасибо.

...