6

如何将Firebase与Java桌面应用程序集成?Firebase普通Java客户端

是否有我可以下载的.jar文件?

我在旧的Firebase版本上看到过纯Java文档,但我无法找到有关最新版Firebase的任何文档。

我的IDE是Netbeans。

谢谢。

+1

出于好奇,您试图使用Firebase中的哪些特定API? –

+0

数据库,认证和存储 – RamithDR

+1

谢谢澄清。我认为您可以将代码的服务器版本(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存储之上的端点。 –

回答

2

可以使用火力服务器-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); 
+0

感谢您的回复。你有哪些API可以与之合作?我的主要需求是数据库,身份验证和存储,我可以在这种方法中使用这些API吗? 您是否介意在初始化应用程序时发布一些示例代码,因为在添加Maven依赖项之后,我无法设置连接。 – RamithDR

+0

我使用数据库API,但我相信也支持其他API。 – FiveDragons

+2

在这种情况下使用服务帐户可能不是正确的做法......您不仅可以向每个用户提供服务帐户的凭证(通常应该保持更多限制),但实际上所有操作都将执行就好像服务帐户是登录用户一样(而不是用人类用户的权限来行事)。虽然服务帐户在服务器上是有意义的(这就是服务器示例代码中使用它的原因),但如果在客户端重用服务器Java代码,这可能不是正确的身份验证方式。 –

0

按照documentation website火力地堡将不只是这样的工作,它的设计为仅在3个平台上运行,即应用程序:

  • 的Android
  • 的iOS
  • 网络

您可以尝试使用Maven存储库进行集成,并使用任何构建脚本。我不完全确定你期望做什么。

+0

我想将Firebase与Java桌面应用程序或Java Web应用程序集成,所以如果我想将Firebase与Java Web应用程序集成,我应该使用JS API? – RamithDR

+0

你可以使用平台支持的任何东西 – thepoosh

1

对于火力地堡存储在服务器,我推荐使用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));