无权限访问此对象错误

No permission to access this object error

我正在尝试使用 firebase 上传文件。该代码在仅具有内部存储的设备上运行良好,但在具有外部存储(SD 卡)的设备上尝试时显示 User does not have permission to access this object. Code: -13021 HttpResult: 403 错误。

我的清单文件包含以下权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

检查build.gradle中的目标SDK版本是否为23,如果是则需要执行运行时权限或将其更改为22

如果您的项目需要额外的权限,请不要将 targetSdk 设置为任何高于 22 的项目,因为您必须支持 Runtime Permissions。作为一个快速解决方案,将 targetSdk 更改为 22,清理并重建您的项目,您会没事的。

存储桶的默认安全规则要求您使用 firebase 身份验证 登录。您可以使用任何身份验证方法。至少,您必须通过以下方式匿名登录:

您还可以设置规则以允许任何人访问——包括那些尚未通过身份验证的人。 但是推荐这样做,因为您的数据不安全。

您只需要在规则中使用 request.auth 而不是 auth

StorageException: StorageException has occurred. User does not have permission to access this object.

Secure User Data 了解更多信息。

希望对你有所帮助。

1.Go 到您的 Firebase 控制台

2.Go 到您的应用

3.Click 在左侧的身份验证按钮上

4.Click 在登录方法选项卡上

5.Hover 在列表下方的匿名项上

6.Click 在项目右侧的铅笔按钮上

7.Click 启用然后保存

这应该有效

只需转到身份验证并允许匿名登录方法,您的问题就会完全解决