You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Storage调用listAll()始终触发onFailure问题求助

Firebase Storage listAll() 调用失败问题排查

尝试获取Firebase Storage中“Musics”目录下的子文件夹和文件名称及URL,但调用listAll()方法始终进入onFailure回调。

编写的代码:

FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference listRef = storage.getReference();
listRef = listRef.child("Musics");
Log.d("hafiz", listRef.getName());

listRef.listAll()
        .addOnSuccessListener(new OnSuccessListener<ListResult>() {
            @Override
            public void onSuccess(ListResult listResult) {
                for (StorageReference prefix : listResult.getPrefixes()) {
                    // 处理子文件夹
                    Log.d("hafiz", prefix.getName());
                }

                for (StorageReference item : listResult.getItems()) {
                    // 处理文件
                    Log.d("hafizitem", item.getName());
                }
            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                // 错误回调
                Log.d("jibon", e.getMessage());
            }
        });

运行后错误信息:

An unknown error occurred, please check the HTTP result code and inner exception for server response.

当前存储规则:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
     allow read, write;
    }
  }
}

排查及解决建议:

  • 检查网络连接:确保设备处于稳定的网络环境,listAll()需要向Firebase服务器发起网络请求。
  • 验证目录路径:确认Storage根目录下确实存在“Musics”目录,注意路径大小写敏感,避免拼写错误。
  • 打印完整异常信息:在onFailure回调中添加e.printStackTrace(),获取完整的异常栈轨迹,能定位更具体的错误原因(如权限配置实际未生效、Bucket不匹配等)。
  • 更新Firebase SDK:使用最新版本的Firebase Storage依赖,旧版本可能存在已知的兼容性或功能问题。
  • 确认项目配置:检查Android项目中的google-services.json文件是否正确配置,确保Bucket名称与Firebase控制台一致。

内容的提问来源于stack exchange,提问作者sifatul supto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 10:44:56