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アプリケーション(春)として実行しています。あなたはAdd Firebase to your appに記載されているように、サービスアカウントキーJSONファイルとSDKを認証している場合
2つのコメント/質問:(1)リフレッシュトークンを取得していますが、プロジェクトに適切な権限があることを確認してください(リフレッシュトークンを使用するのは高度な使用例です)。(2)Admin SDKは*サーバー*アプリケーションであり、クライアントアプリケーションでの使用は安全ではありません。 – jwngr
1. Googleのdocsのチュートリアルに続いて、資格jsonファイルを使用しています。 2.これはクライアントではなくサーバーアプリケーションです – Manza