Firebase存储错误中的权限被拒绝[重复]

Posted

技术标签:

【中文标题】Firebase存储错误中的权限被拒绝[重复]【英文标题】:permisson denied in firebase storage error [duplicate] 【发布时间】: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 如果这是您在过去几天创建的项目,您可能受到我们项目创建中的错误的影响。如果是这样,则该问题已得到解决,因此新项目将不再受到影响。要修复您现有的项目,请查看此处的步骤:***.com/a/70060240 【参考方案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 配置吗?只是为了重新验证配置是否正确,并且您正在控制台上的同一个项目中进行更改。

以上是关于Firebase存储错误中的权限被拒绝[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 存储安全规则 400 错误问题“权限被拒绝。无法访问存储桶 xxxxx-****.appspot.com”

Firebase 存储错误:权限被拒绝。无法访问存储桶 my-bucket-name

与 Firebase DatabaseError 一起颤动:权限被拒绝 [重复]

无法上传到 Firebase 存储/权限被拒绝

Flutter web:实施 Firebase 应用检查后出现 403 权限被拒绝错误

Firebase存储链接权限被拒绝