Я установил в своем приложении firebase auth и облачное хранилище.Однако всякий раз, когда я пытаюсь загрузить файл, я получаю сообщение об ошибке, о котором не могу найти никакой информации.Ошибка 400: Плохой запрос со следующим сообщением
Listing objects in a bucket is disallowed for rules_version = "1". Please update storage security rules to rules_verison = "2" to use list.
Кажется, я не могу найти ничего об обновлении security rules_version.Обратите внимание, что когда я смотрю на консоль Firebase, загрузка на самом деле проходит успешно, но HTTP-возврат все еще является ошибкой, описанной выше.Что это означает, перечисляя объекты, и как я могу обновить свои правила безопасности?
Для получения дополнительной информации, мой код загрузки (в Kotlin):
fun uploadImage(uri: Uri, path: String): Task<Uri> {
val storageRef = FirebaseStorage.getInstance().reference
val storagePath = storageRef.child(path)
return storagePath.putFile(uri).continueWithTask{ storageRef.downloadUrl }
}
Я звоню с
public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode in 0..2 && resultCode == Activity.RESULT_OK) {
val cropImageUri = CropImage.getActivityResult(data).uri
val systemTime = System.currentTimeMillis()
val path = "$userId/$systemTime"
//IMAGE UPLOAD HERE:
FirebaseImageResource.uploadImage(cropImageUri, path)
.addOnCompleteListener {
if (it.isSuccessful) {
GlideApp.with(this)
.load(cropImageUri)
.into(imageViewForPosition(requestCode)!!)
imageUris[requestCode] = it.result.toString()
}
}
}
}
По умолчанию применяются мои правила для firebase:
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if request.auth != null;
}
}
}
Я также успешно авторизируюсь с помощью входа в Facebook
override fun onSuccess(loginResult: LoginResult) {
val credential = FacebookAuthProvider.getCredential(loginResult.accessToken.token)
auth.signInWithCredential(credential)
}
(Сейчас у него нет успешного прослушивателя,но я знаю, что это работает, потому что, когда я его не использую, вместо этого я получаю несанкционированную ошибку, и файл фактически не загружается)