Firebase Admin Java SDK 未执行任何操作

Firebase Admin Java SDK not doing any operation

我已经使用 this 指南

设置了 firebase admin SDK

所以我用下面的方式初始化它。

InputStream refreshToken = new ClassPathResource(CONFIG_FILE).getInputStream();

FirebaseOptions options = new FirebaseOptions.Builder()
            .setCredential(FirebaseCredentials.fromRefreshToken(refreshToken))
            .setDatabaseUrl("https://<project-id>.firebaseio.com/")
            .build();

FirebaseApp.initializeApp(options);

到目前为止我没有发现任何错误,一切似乎都很好。但是,我无法进行任何操作。调用方法什么都不做。例如:

FirebaseDatabase.getInstance()
            .getReference()
            .addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                      //this callback is never called
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });

class Pojo {

    public Pojo(String name, String surname) {
        this.name = name;
        this.surname = surname;
    }

    String name;
    String surname;
    //omitted getters and setters
}


FirebaseDatabase.getInstance.getReference()
                .push()
                .setValue(new Pojo("Test", "Test"));
//this value is never set

看起来 skd 忽略了任何命令。有什么想法吗?

背景:我 运行 这是本地计算机上的 Web 应用程序 (spring)。

如果您使用服务帐户密钥 JSON 文件验证 SDK,如 Add Firebase to your app, you should use the fromCertificate() method, not the fromRefreshToken() 方法中所述:

FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");

FirebaseOptions options = new FirebaseOptions.Builder()
  .setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
  .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
  .build();

FirebaseApp.initializeApp(options);

使用刷新令牌进行身份验证是一种高级用例,可能不是您想要使用的。