Firebase Admin Java SDK没有执行任何操作

我已使用本指南设置了firebase管理SDK

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

InputStream refreshToken = new ClassPathResource(CONFIG_FILE).getInputStream(); FirebaseOptions options = new FirebaseOptions.Builder() .setCredential(FirebaseCredentials.fromRefreshToken(refreshToken)) .setDatabaseUrl("https://.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)运行。

如果您使用添加Firebase中记录的服务帐户密钥JSON文件对SDK进行身份validation,则应使用fromCertificate()方法,而不是fromRefreshToken()方法:

 FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json"); FirebaseOptions options = new FirebaseOptions.Builder() .setCredential(FirebaseCredentials.fromCertificate(serviceAccount)) .setDatabaseUrl("https://.firebaseio.com/") .build(); FirebaseApp.initializeApp(options); 

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