我正在尝试使用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" />
答案 0 :(得分:2)
存储分区的默认安全规则要求您使用firebase 身份验证登录。您可以使用任何身份验证方法。至少,您必须匿名登录:
您还可以设置规则以允许任何人访问 - 包括尚未通过身份验证的人。 但建议不,因为您的数据不安全。
您只需在规则中使用request.auth
,而不只是auth
。
同样Secure User Data以获得更多想法。
我希望它会帮助你。
答案 1 :(得分:1)
检查build.gradle中的目标SDK版本是否为23,如果是,则需要实现运行时权限或将其更改为22
答案 2 :(得分:1)
如果您的项目需要其他权限,请不要将targetSdk
设置为高于22
的项目来构建项目,因为您必须支持Runtime Permissions。作为一种快速解决方案,将targetSdk
更改为22
,清理并重建您的项目,您就可以了。
答案 3 :(得分:0)
1.转到firebase控制台
2.转到您的应用
3.单击左侧的身份验证按钮
4.单击登录方法选项卡
5.将鼠标悬停在列表
下面的匿名项目上6.点击项目右侧的铅笔按钮
7.单击启用,然后保存
这应该有效
答案 4 :(得分:0)
只需进行身份验证并允许匿名登录方法,您的问题就会完全解决