gpt4 book ai didi

将数据推送到 Firebase 的 Java 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 10:39:03 25 4
gpt4 key购买 nike

我正在尝试构建 Java 应用程序来检索数据并将数据保存到 Firebase 数据库。我关注了this link并下载服务帐户详细信息并在项目中使用相同的信息。我正在 IntelliJ 上构建一个项目并添加了所需的所有依赖项。但我无法将任何数据保存到 Firebase 或从 Firebase 检索任何数据。运行代码时我没有收到任何错误。

public class Database {
private static final String DATABASE_URL = "https://DATABASE-NAME.firebaseio.com";
private static final String FILE_NAME = "services-account-downloaded-file.json";
private static DatabaseReference database;

public static void main(String args[]) {
// Initialize Firebase
try {
// [START initialize]
FileInputStream serviceAccount = new FileInputStream(FILE_NAME);

FirebaseOptions options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl(DATABASE_URL)
.setDatabaseAuthVariableOverride(null)
.build();
FirebaseApp.initializeApp(options);
// [END initialize]
} catch (IOException e) {
System.out.println("ERROR: invalid service account credentials. See README.");
System.out.println(e.getMessage());

System.exit(1);
}
// Shared Database reference
database = FirebaseDatabase.getInstance().getReference();
startListeners();
try {
Thread.sleep(20000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}

public static void startListeners() {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference().child("user");
ref.setValue("userdata", new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if (databaseError != null) {
System.out.println("Data could not be saved " + databaseError.getMessage());
} else {
System.out.println("Data saved successfully.");
}
}
});
}

}

最佳答案

需要注意的是:FirebaseCredential 已被弃用,取而代之的是 GoogleCredentials。

尝试将初始化 block 更改为:

       // [START initialize]
FileInputStream serviceAccount = new FileInputStream(FILE_NAME);

GoogleCredentials credentials = GoogleCredentials
.fromStream(serviceAccount)
.createScoped(Arrays.asList("https://www.googleapis.com/auth/firebase.database"));

FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(credentials)
.setDatabaseUrl(DATABASE_URL)
.build();
FirebaseApp.initializeApp(options);
// [END initialize]

关于将数据推送到 Firebase 的 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49210851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com