【问题标题】:permisson denied in firebase storage error [duplicate]Firebase存储错误中的权限被拒绝[重复]
【发布时间】:2021-12-30 21:57:56
【问题描述】:

我有这样的错误:

java.io.IOException: { "error": { "code": 400, "message": "Permission denied。请通过访问 Firebase 控制台中的存储选项卡为您的存储桶启用 Firebase 存储,并确保您拥有足够的权限来正确配置资源。” }}

但是,我这里的存储规则:

service firebase.storage {
  match /b/luu-hinh-voi-firebase.appspot.com/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}

我认为我的代码是正确的,但错误仍然出现,这是我的代码:

Calendar calendar=Calendar.getInstance();
               StorageReference mountainsRef = storageRef.child("image"+calendar.getTimeInMillis()+".png");
               // Get the data from an ImageView as bytes
               imgHinh.setDrawingCacheEnabled(true);
               imgHinh.buildDrawingCache();
               Bitmap bitmap = ((BitmapDrawable) imgHinh.getDrawable()).getBitmap();
               ByteArrayOutputStream baos = new ByteArrayOutputStream();
               bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
               byte[] data = baos.toByteArray();

               UploadTask uploadTask = mountainsRef.putBytes(data);
               uploadTask.addOnFailureListener(new OnFailureListener() {
                   @Override
                   public void onFailure(@NonNull Exception exception) {
                       Toast.makeText(MainActivity.this, "Failed !", Toast.LENGTH_SHORT).show();
                   }
               }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                   @Override
                   public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                       Log.d("hivu", taskSnapshot.getUploadSessionUri()+"");
                       Toast.makeText(MainActivity.this, "Success !", Toast.LENGTH_SHORT).show();
                   }
               });

请帮我解决这个问题,我不知道错误来自哪里?

【问题讨论】:

  • 我不久前链接了一个解决方案。如果这不能为您解决问题,您能否reach out to Firebase support 获得个性化的故障排除帮助?
  • 我已经尝试过您的解决方案,但它根本不起作用
  • 很抱歉听到@QuốcVũ。在这种情况下,请联系 Firebase 支持,以便他们查看。我们最近看到了一些类似的案例,解决方法是使用另一个 (gmail) 帐户。但这当然不应该是正确的解决方案,所以希望我们的支持团队能找到这个问题的根本原因。
  • 我将联系 Firebase 支持人员,了解导致此错误的根本原因。顺便说一句,谢谢你的帮助
  • firebaser here 如果这是您在过去几天创建的项目,您可能受到我们项目创建中的错误的影响。如果是这样,则该问题已得到解决,因此新项目将不再受到影响。要修复您现有的项目,请查看此处的步骤:stackoverflow.com/a/70060240

标签: android firebase-storage firebase-security


【解决方案1】:

您很可能需要更新您的存储规则,如下所示 -

service firebase.storage {
  match /b/luu-hinh-voi-firebase.appspot.com/o {
    match /{allPaths=**} {
      allow read, write: if true;
    }
  }
}

【讨论】:

  • 这个我试过了,但是不行
  • 你能试试这个吗? - rules_version = '2'; service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if true; } } }
  • 还是有这个错误:((
  • 它应该可以工作。您可以重新检查您的项目 firebase 配置吗?只是为了重新验证配置是否正确,并且您正在控制台上的同一个项目中进行更改。
猜你喜欢
  • 1970-01-01
  • 2016-09-25
  • 2019-03-07
  • 1970-01-01
  • 2015-01-02
  • 2019-07-26
  • 2016-10-30
  • 2019-07-30
  • 2020-02-15
相关资源
最近更新 更多