Google Firebase Admin Java API

    public void loadToFirebase() {


        /**         *         {         "rules":{         ".read":true,         ".write":"auth.uid === 'my-service-worker'"         }         }         */
        try {

            //load data            java.io.FileReader reader =
                    new java.io.FileReader(new File(JSON_CRAWLED_DATA_FILE));
            Type listType = new TypeToken<List<MtprotoProxy>>() {
            }.getType();

            List<MtprotoProxy> data = gson.fromJson(reader, listType);

            FileInputStream serviceAccount =
                    new FileInputStream(
                            "resources/firebase/mtprotolist-firebase-adminsdk-difsq-7d5482a255.json");
            Map<String, Object> auth = new HashMap<>();
            auth.put("uid", "my-service-worker");
            FirebaseOptions options = new FirebaseOptions.Builder()
                    .setCredentials(
                            GoogleCredentials.fromStream(serviceAccount)
                            //FirebaseCredentials.fromCertificate(serviceAccount)                    )
                    .setDatabaseUrl("https://mtprotolist.firebaseio.com")
                    .setDatabaseAuthVariableOverride(
                            auth
                            //null                    )
                    .build();

            FirebaseApp.initializeApp(options);

            // As an admin, the app has access to read and write all data, 
//regardless of Security Rules            DatabaseReference ref = FirebaseDatabase.getInstance()
                    .getReference("");
//            ref.addValueEventListener(new ValueEventListener() {//                @Override//                public void onDataChange(DataSnapshot dataSnapshot) {//                    Object document = dataSnapshot.getValue();//                    log.info(document);//                }////                @Override//                public void onCancelled(DatabaseError error) {//                    log.info(error.getMessage());//                }//            });//            ref.addListenerForSingleValueEvent(new ValueEventListener() {//                @Override//                public void onDataChange(DataSnapshot dataSnapshot) {//                    Object document = dataSnapshot.getValue();//                    log.info(document);//                }////                @Override//                public void onCancelled(DatabaseError error) {//                    log.info(error.getMessage());//                }//            });
            ref.setValue(data, new DatabaseReference.CompletionListener() {
                @Override                public void onComplete(DatabaseError databaseError, 
DatabaseReference databaseReference) {
                    log.info(databaseError);
                }
            });

        } catch (Exception e) {
            log.error(e.getMessage());
        }

        try {
            Thread.sleep(17000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

Комментариев нет:

Отправить комментарий