Il arrive que les choses ne se passent pas comme prévu et qu'une erreur se produise.
En cas de doute, vérifiez l'erreur renvoyée et lisez le message d'erreur.
Le code suivant montre une implémentation de gestionnaire d'erreurs personnalisée qui inspecte le code d'erreur et le message d'erreur renvoyés par Cloud Storage. Ces gestionnaires d'erreurs peuvent être ajoutés à divers objets utilisés dans l'API Cloud Storage (par exemple, UploadTask
et FileDownloadTask
).
Kotlin+KTX
internal inner class MyFailureListener : OnFailureListener { override fun onFailure(exception: Exception) { val errorCode = (exception as StorageException).errorCode val errorMessage = exception.message // test the errorCode and errorMessage, and handle accordingly } }
Java
class MyFailureListener implements OnFailureListener { @Override public void onFailure(@NonNull Exception exception) { int errorCode = ((StorageException) exception).getErrorCode(); String errorMessage = exception.getMessage(); // test the errorCode and errorMessage, and handle accordingly } }
Si vous avez vérifié le message d'erreur et que des Cloud Storage Security Rules vous permettent d'effectuer une action, mais que vous ne parvenez toujours pas à corriger l'erreur, consultez notre page d'assistance et dites-nous en quoi nous pourrions vous aider.
Gérer les messages d'erreur
Plusieurs raisons peuvent expliquer l'apparition d'erreurs, y compris l'absence du fichier, l'absence d'autorisation de l'utilisateur pour accéder au fichier souhaité ou l'annulation de l'importation du fichier par l'utilisateur.
Pour diagnostiquer correctement le problème et gérer l'erreur, voici la liste complète de toutes les erreurs que notre client génère et de la manière dont elles peuvent se produire. Les codes d'erreur de ce tableau sont définis dans la classe StorageException
en tant que constantes entières.
Code | Motif |
---|---|
ERROR_UNKNOWN |
Une erreur inconnue s'est produite. |
ERROR_OBJECT_NOT_FOUND |
Aucun objet n'existe à la référence spécifiée. |
ERROR_BUCKET_NOT_FOUND |
Aucun bucket n'est configuré pour Cloud Storage |
ERROR_PROJECT_NOT_FOUND |
Aucun projet n'est configuré pour Cloud Storage |
ERROR_QUOTA_EXCEEDED |
Le quota de votre bucket Cloud Storage a été dépassé. Si vous utilisez la formule Spark, envisagez de passer à la formule Blaze à paiement à l'usage. Si vous disposez déjà du forfait Blaze, contactez l'assistance Firebase. Important: À partir du |
ERROR_NOT_AUTHENTICATED |
L'utilisateur n'est pas authentifié. Veuillez vous authentifier, puis réessayer. |
ERROR_NOT_AUTHORIZED |
L'utilisateur n'est pas autorisé à effectuer l'action demandée. Vérifiez vos règles pour vous assurer qu'elles sont correctes. |
ERROR_RETRY_LIMIT_EXCEEDED |
Le délai maximal d'une opération (importation, téléchargement, suppression, etc.) a été dépassé. Réessayez. |
ERROR_INVALID_CHECKSUM |
Le fichier sur le client ne correspond pas à la somme de contrôle du fichier reçu par le serveur. Réessayez d'importer une vidéo. |
ERROR_CANCELED |
L'utilisateur a annulé l'opération. |
De plus, toute tentative d'appel de getReferenceFromUrl()
avec une URL non valide entraînera la génération d'une erreur IllegalArgumentException
. L'argument de la méthode ci-dessus doit être au format gs://bucket/object
ou https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
.