使用google firebase存储而无需身份验证

sha*_*ghi 4 android firebase firebase-cloud-messaging

我想在没有服务器的情况下向所有用户分享一些json文件,我使用google firebase存储服务(没有用户身份验证).码:

FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl("gs://xxxxxx.appspot.com/xxx-main.json");
Task<byte[]> task = storageRef.getBytes(1000000);
while (!task.isComplete())
    StaticTools.sleep(100);

byte[] b=task.getResult();
Run Code Online (Sandbox Code Playgroud)

但它引发了一个例外:

com.google.android.gms.tasks.RuntimeExecutionException: com.google.firebase.storage.StorageException: User does not have permission to access this object.
Run Code Online (Sandbox Code Playgroud)

存储规则:

service firebase.storage {
  match /b/XXXXXX.appspot.com/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Xav*_*ong 7

使用https://console.firebase.google.com上的新Firebase存储控制台.浏览文件夹并选择上传的文件.在"文件位置"选项卡下,有一个名为" 下载URL"的字段.点击它进行复制,你就可以在你的网站上链接到这个文件.

只要规则选项卡中没有写入权限设置,您就应该能够公开使用这些文件.