在我的项目中,我具有默认存储桶和一个额外的存储桶。
在尝试添加新存储桶时,一切似乎都不错,但是如果我尝试从Firebase控制台访问它,就不见了。没有列出。
但是,如果我使用Google Cloud Console,则存储桶在那里,但是我无法从我的应用程序或Firebase控制台访问它。
如果我尝试从应用程序访问存储桶,则会出现此错误:
原因:java.io.IOException:{“错误”:{“代码”:400,
“ message”:“权限被拒绝。无法访问存储桶ubvplayersdata。 请通过访问存储来为您的存储桶启用Firebase存储 标签,然后确保您有足够的资源 正确配置资源的权限。”,“状态”: “ ACCESS_BUCKET”}}
我使用规则版本2来列出存储桶和Blaze计划。
存储桶的gs:gs://ubvplayersdata
我想念什么?
编辑:
this answer中的链接使我意识到Google Cloud Console中没有firebase-storage@system.gserviceaccount.com
角色Storage Admin
,但是即使手动设置了它们,也没有尝试将存储桶从Google Console导入到Firebase控制台仍然无法正常工作。
更新: 与Firebase支持人员联系后,他们告诉我在修复了后端问题后,问题确实得到解决。
答案 0 :(得分:1)
我不确定控制台,但是从应用程序尝试指定默认值以外的新存储桶的名称:
//获取非默认存储桶FirebaseStorage storage = FirebaseStorage.getInstance(“ gs:// my-custom-bucket”); StorageActivity.java
here you can read more about this
确保为新存储桶设置安全规则! 这里的链接可能会有所帮助:
答案 1 :(得分:1)
您将需要导入在Cloud控制台中创建的存储桶,以与Firebase一起使用,否则它将不会显示在Firebase控制台中,并且您将无法从移动客户端访问它。
在Firebase存储对象浏览器(Firebase控制台)中: