【问题标题】:Upload file on firebase storage using the firebase admin sdk (java)使用 firebase admin sdk (java) 在 firebase 存储上上传文件
【发布时间】:2020-11-21 01:09:34
【问题描述】:

我正在尝试使用适用于 java 的 firebase admin sdk 上传文件。我遵循了这个官方指南https://firebase.google.com/docs/storage/admin/start,但是当我上传时出现以下错误:

线程“main”com.google.cloud.storage.StorageException 中的异常:firebase-adminsdk-s5n1d@[PROJECT_ID].iam.gserviceaccount.com 没有对 Google Cloud 项目的 serviceusage.services.use 访问权限。 在 com.google.cloud.storage.spi.v1.HttpStorageRpc.translate(HttpStorageRpc.java:227) 在 com.google.cloud.storage.spi.v1.HttpStorageRpc.create(HttpStorageRpc.java:308) 在 com.google.cloud.storage.StorageImpl.create(StorageImpl.java:189) 在 com.google.cloud.storage.Bucket.create(Bucket.java:987)

这听起来好像我没有被授权,但根据指南,我应该获得对存储桶的经过身份验证的引用......

这是代码:

        FileInputStream serviceAccount =
                new FileInputStream("./XXX.json");

        FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                .setDatabaseUrl("https://[PROJECT_ID].firebaseio.com")
                .setStorageBucket("[PROJECT_ID].appspot.com")
                .build();

        FirebaseApp.initializeApp(options);

        InputStream file = new FileInputStream(filePath);
        Blob blob = StorageClient.getInstance().bucket().create(fileName, file, Bucket.BlobWriteOption.userProject("[PROJECT_ID]"));

【问题讨论】:

    标签: java firebase google-cloud-storage google-admin-sdk


    【解决方案1】:

    我发现问题:

    您只需删除“Bucket.BlobWriteOption.userProject("[PROJECT_ID]")”参数即可。

    现在可以正常使用了。

    【讨论】:

      猜你喜欢
      • 2019-08-02
      • 2020-05-09
      • 2021-12-07
      • 2020-05-07
      • 2021-04-05
      • 2021-07-30
      • 2021-08-12
      • 2020-04-10
      • 1970-01-01
      相关资源
      最近更新 更多