5

I learned from past thread that Firebase Database for plain JVM can be accessed from the new server SDK. So now I could use Firebase Database SDK for my JavaFX project, but how do I use the Storage SDK?

Sadly, Firebase Storage doc doesn't mention anything about setting up storage in server. StorageReference is also not available from com.google.firebase:firebase-server-sdk:[3.0.0,) or com.google.firebase:firebase-server-sdk:3.0.1.

Community
  • 1
  • 1
Hendra Anggrian
  • 5,780
  • 13
  • 57
  • 97

2 Answers2

6

Firebase Storage does not have a server SDK, but because it's backed by Google Cloud Storage, you can use the GCS server SDKs. Here are the GCS docs for accessing it from Java.

katfang
  • 2,010
  • 17
  • 13
0

In the Gradle File add compile 'com.google.cloud:google-cloud-storage:1.7.0' or latest java library

If the Storage url is say gs://some-bucket-name.appspot.com/directory/some_blob.zip then STORAGE_BUCKET must be some-bucket-name.appspot.com and path should be directory/some_blob.zip

private long getSize(String path) {

    Storage storage = StorageOptions.newBuilder()
            .setProjectId(STORAGE_BUCKET)
            // Optionally Add credentials
            //.setCredentials(GoogleCredentials.fromStream(new FileInputStream(jsonFile)))
            .build()
            .getService();

    // Optional third parameter to limit fields returned, just getting size for my use case
    Blob blob = storage.get(STORAGE_BUCKET, path, Storage.BlobGetOption.fields(Storage.BlobField.SIZE));
    if (blob != null) {
        return blob.getSize();
    }
    return 0;
}
Ajitsen
  • 338
  • 3
  • 7