如何將Firebase與Java桌面應用程序集成?Firebase普通Java客戶端
是否有我可以下載的.jar文件?
我在舊的Firebase版本上看到過純Java文檔,但我無法找到有關最新版Firebase的任何文檔。
我的IDE是Netbeans。
謝謝。
如何將Firebase與Java桌面應用程序集成?Firebase普通Java客戶端
是否有我可以下載的.jar文件?
我在舊的Firebase版本上看到過純Java文檔,但我無法找到有關最新版Firebase的任何文檔。
我的IDE是Netbeans。
謝謝。
可以使用火力服務器-SDK-3.0.1.jar(當前版本)
在NetBeans中,我會建議創建Maven項目並使用神器:的GroupId - com.google.firebase,artifactId的:火力-server-SDK。
我完全適合我。 你可以找到一些文件here。
要初始化SDK只需按照文檔:添加服務帳戶(我用的所有者角色,我沒有嘗試過的角色較弱),下載專用密鑰,並使用此代碼片段:
FirebaseOptions options = new FirebaseOptions.Builder()
.setServiceAccount(new FileInputStream("path/to/downloaded private key.json"))
.setDatabaseUrl("https://your database name.firebaseio.com/")
.build();
FirebaseApp.initializeApp(options);
感謝您的回覆。你有哪些API可以與之合作?我的主要需求是數據庫,身份驗證和存儲,我可以在這種方法中使用這些API嗎? 您是否介意在初始化應用程序時發佈一些示例代碼,因爲在添加Maven依賴項之後,我無法設置連接。 – RamithDR
我使用數據庫API,但我相信也支持其他API。 – FiveDragons
在這種情況下使用服務帳戶可能不是正確的做法......您不僅可以向每個用戶提供服務帳戶的憑證(通常應該保持更多限制),但實際上所有操作都將執行就好像服務帳戶是登錄用戶一樣(而不是用人類用戶的權限來行事)。雖然服務帳戶在服務器上是有意義的(這就是服務器示例代碼中使用它的原因),但如果在客戶端重用服務器Java代碼,這可能不是正確的身份驗證方式。 –
按照documentation website火力地堡將不只是這樣的工作,它的設計爲僅在3個平臺上運行,即應用程序:
您可以嘗試使用Maven存儲庫進行集成,並使用任何構建腳本。我不完全確定你期望做什麼。
對於火力地堡存儲在服務器,我推薦使用gcloud-java:
// Authenticate using a service account
Storage storage = StorageOptions.builder()
.authCredentials(AuthCredentials.createForJson(new FileInputStream("/path/to/my/key.json"))
.build()
.service();
// Create blob
BlobId blobId = BlobId.of("bucket", "blob_name");
// Add metadata to the blob
BlobInfo blobInfo = BlobInfo.builder(blobId).contentType("text/plain").build();
// Upload blob to GCS (same as Firebase Storage)
Blob blob = storage.create(blobInfo, "Hello, Cloud Storage!".getBytes(UTF_8));
出於好奇,您試圖使用Firebase中的哪些特定API? –
數據庫,認證和存儲 – RamithDR
謝謝澄清。我認爲您可以將代碼的服務器版本(https://firebase.google.com/docs/database/server/start)與Google API客戶端庫中的OAuth代碼結合使用(https:// developers.google.com/api-client-library/java/google-oauth-java-client/oauth2),但通過在Google雲端平臺中使用等效功能可以更好地爲您服務,特別是通過Google Cloud創建API位於Google雲端存儲和Google雲端數據存儲或Google雲端SQL存儲之上的端點。 –