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是一个高级用例,可能不是您想要使用的。
- Firebase / Android:将检索到的值从Firebase添加到arraylist会返回空指针exception
- 如何获取父节点的值作为字符串?
- 如何获得Firebase节点的随机子节点?
- 在Firebase中使用equalTo(“value”,“key”)?
- Firebase身份validation的最新更改。 Google登录?
- DatabaseException:无法将java.lang.String类型的对象转换为type
- 如何将Firebase RecyclerView放在另一个RecyclerView中
- 将新值添加到Firebase实时数据库时如何保存当前日期/时间
- Java Server – 使用POST发送Push到Google Firebase Cloud