Corriger les erreurs

L'API Google Drive renvoie deux niveaux d'informations sur les erreurs :

  • Codes d'erreur HTTP et messages d'en-tête.
  • Objet JSON dans le corps de la réponse, contenant des informations supplémentaires qui peuvent vous aider à déterminer comment gérer l'erreur.

Les applications Google Drive doivent intercepter et gérer toutes les erreurs qui peuvent survenir lors de l'utilisation de l'API REST. Ce guide vous explique comment résoudre des erreurs spécifiques de l'API Drive.

Récapitulatif des codes d'état HTTP

Code d'erreur Description
200 - OK La requête a abouti (il s'agit de la réponse standard pour les requêtes HTTP ayant abouti).
400 - Bad Request La demande ne peut pas être traitée en raison d'une erreur client.
401 - Unauthorized La requête contient des identifiants non valides.
403 - Forbidden La demande a été reçue et comprise, mais l'utilisateur n'est pas autorisé à l'effectuer.
404 - Not Found Impossible de trouver la page demandée.
429 - Too Many Requests Trop de requêtes envoyées à l'API.
500, 502, 503, 504 - Server Errors Une erreur inattendue s'est produite lors du traitement de la demande.

Erreurs 400

Ces erreurs signifient que la demande n'était pas acceptable, souvent en raison d'un paramètre obligatoire manquant.

badRequest

Cette erreur peut se produire en raison de l'un des problèmes suivants dans votre code :

  • Un champ ou un paramètre obligatoire n'a pas été fourni.
  • La valeur fournie ou une combinaison de champs fournis n'est pas valide.
  • Vous avez essayé d'ajouter un parent en double à un fichier Drive.
  • Vous avez essayé d'ajouter un parent qui créerait un cycle dans le graphique du répertoire.

L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "code": 400,
    "errors": [
      {
        "domain": "global",
        "location": "orderBy",
        "locationType": "parameter",
        "message": "Sorting is not supported for queries with fullText terms. Results are always in descending relevance order.",
        "reason": "badRequest"
      }
    ],
    "message": "Sorting is not supported for queries with fullText terms. Results are always in descending relevance order."
  }
}

Pour corriger cette erreur, vérifiez le champ message et ajustez votre code en conséquence.

illegalKeepForeverModification

Cette erreur se produit lorsque vous essayez de définir sur false une révision de fichier blob marquée comme "Conserver indéfiniment". L'exemple JSON suivant représente cette erreur :

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "illegalKeepForeverModification",
    "message": "Bad Request. Cannot update a revision to false that is marked as keepForever."
   }
  ],
  "code": 400,
  "message": "Bad Request. Cannot update a revision to false that is marked as keepForever."
 }
}

Pour corriger cette erreur, supprimez définitivement une révision de fichier blob afin de supprimer le paramètre "Conserver indéfiniment".

invalidSharingRequest

Cette erreur se produit pour plusieurs raisons. Pour déterminer la cause, évaluez le champ reason du fichier JSON renvoyé. Cette erreur se produit le plus souvent pour les raisons suivantes :

  • Le partage a bien été effectué, mais l'e-mail de notification n'a pas été correctement distribué.
  • La modification de la liste de contrôle d'accès (LCA) n'est pas autorisée pour cet utilisateur.

Le champ message indique l'erreur réelle.

Le partage a bien été effectué, mais l'e-mail de notification n'a pas été correctement envoyé

L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalidSharingRequest",
        "message": "Bad Request. User message: \"Sorry, the items were successfully shared but emails could not be sent to email@domain.com.\""
      }
    ],
    "code": 400,
    "message": "Bad Request"
  }
}

Pour résoudre ce problème, informez l'utilisateur (partageur) qu'il n'a pas pu partager le fichier, car l'e-mail de notification n'a pas pu être envoyé à l'adresse e-mail de destination. L'utilisateur doit s'assurer qu'il dispose de la bonne adresse e-mail et qu'il peut recevoir des e-mails.

La modification de la LCA n'est pas autorisée pour cet utilisateur

L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalidSharingRequest",
        "message": "Bad Request. User message: \"ACL change not allowed.\""
      }
    ],
    "code": 400,
    "message": "Bad Request"
  }
}

Pour corriger cette erreur, vérifiez les paramètres de partage du domaine Google Workspace auquel appartient le fichier. Il est possible que les paramètres interdisent le partage en dehors du domaine ou que le partage d'un Drive partagé ne soit pas autorisé.

Erreurs 401

Ces erreurs signifient que la requête ne contient pas de jeton d'accès valide.

authError

Cette erreur se produit lorsque le jeton d'accès que vous utilisez est expiré ou non valide. Cette erreur peut également être due à une autorisation manquante pour les niveaux d'accès demandés. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "authError",
        "message": "Invalid Credentials",
        "locationType": "header",
        "location": "Authorization",
      }
    ],
    "code": 401,
    "message": "Invalid Credentials"
  }
}

Pour corriger cette erreur, actualisez le jeton d'accès à l'aide du jeton d'actualisation de longue durée. Si cela échoue, guidez l'utilisateur dans le flux OAuth, comme décrit dans Choisir les habilitations de l'API Google Drive.

fileNotDownloadable

Cette erreur se produit lorsque vous essayez d'utiliser la méthode revisions.get avec le paramètre d'URL alt=media sur un document Google Workspace. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileNotDownloadable",
        "message": "Only files with binary content can be downloaded. Use Export with Docs Editors files."
      }
    ],
    "code": 403,
    "message": "Only files with binary content can be downloaded. Use Export with Docs Editors files."
  }
}

Pour résoudre ce problème, essayez l'une des solutions suivantes :

  • Supprimez le paramètre d'URL alt=media si vous souhaitez afficher les métadonnées d'une révision spécifique, comme le type MIME.
  • Utilisez la méthode files.export pour exporter le contenu en octets d'un document Google Workspace. Pour en savoir plus, consultez Exporter le contenu d'un document Google Workspace.

Erreurs 403

Ces erreurs signifient qu'une limite d'utilisation a été dépassée ou que l'utilisateur ne dispose pas des droits d'accès appropriés. Pour déterminer la cause, évaluez le champ reason du fichier JSON renvoyé.

Pour en savoir plus sur les limites de l'API Drive, consultez Limites d'utilisation. Pour en savoir plus sur les limites applicables aux dossiers Drive, consultez Limites applicables aux fichiers et aux dossiers.

activeItemCreationLimitExceeded

Une erreur activeItemCreationLimitExceeded se produit lorsque la limite du nombre d'éléments créés par compte a été dépassée. Chaque utilisateur peut créer jusqu'à 500 millions d'éléments par compte. Pour en savoir plus, consultez Limites utilisateur-article.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "activeItemCreationLimitExceeded",
    "message": "This account has exceeded the creation limit of 500 million items. To create more items, permanently delete some items."
   }
  ],
  "code": 403,
  "message": "This account has exceeded the creation limit of 500 million items. To create more items, permanently delete some items."
 }
}

Solution :

  1. Informez l'utilisateur que Drive empêche les comptes de créer plus de 500 millions d'éléments.

  2. Si l'utilisateur doit créer des éléments dans ce même compte, demandez-lui de supprimer définitivement certains objets. Sinon, il peut utiliser un autre compte qui répond déjà à l'exigence.

appNotAuthorizedToFile

Cette erreur se produit lorsque votre application ne figure pas dans la LCA du fichier. Cette erreur empêche l'utilisateur d'ouvrir le fichier avec votre application. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "appNotAuthorizedToFile",
        "message": "The user has not granted the app {appId} {verb} access to the file {fileId}."
      }
    ],
    "code": 403,
    "message": "The user has not granted the app {appId} {verb} access to the file {fileId}."
  }
}

Pour résoudre ce problème, essayez l'une des solutions suivantes :

  • Ouvrez le sélecteur Google Drive et invitez l'utilisateur à ouvrir le fichier.
  • Demandez à l'utilisateur d'ouvrir le fichier à l'aide du menu contextuel Ouvrir avec dans l'UI Drive de votre application.
  • Utilisez la méthode files.get pour vérifier le champ isAppAuthorized de la ressource files et vous assurer que votre application a créé ou ouvert le fichier.

cannotModifyInheritedTeamDrivePermission

Cette erreur se produit lorsqu'un utilisateur tente de modifier les autorisations héritées d'un élément dans un Drive partagé. Il est impossible de supprimer les autorisations héritées d'un élément dans un Drive partagé. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "cannotModifyInheritedTeamDrivePermission",
        "message": "Cannot update or delete an inherited permission on a shared drive item."
      }
    ],
    "code": 403,
    "message": "Cannot update or delete an inherited permission on a shared drive item."
  }
}

Pour corriger cette erreur, un utilisateur doit ajuster les autorisations de l'élément parent direct ou indirect à partir duquel elles ont été héritées. Pour en savoir plus, consultez Fonctionnement des autorisations. Vous pouvez également récupérer la ressource permissions pour savoir si les autorisations sur cet élément de Drive partagé sont héritées ou appliquées directement.

dailyLimitExceeded

Cette erreur se produit lorsque la limite d'API pour votre projet a été atteinte. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "usageLimits",
        "reason": "dailyLimitExceeded",
        "message": "Daily Limit Exceeded"
      }
    ],
    "code": 403,
    "message": "Daily Limit Exceeded"
  }
}

Cette erreur s'affiche lorsque le propriétaire de l'application a défini une limite de quota pour plafonner l'utilisation d'une ressource spécifique. Pour corriger cette erreur, supprimez tous les plafonds d'utilisation pour le quota "Requêtes par jour".

domainPolicy

Cette erreur se produit lorsque le règlement du domaine de l'utilisateur n'autorise pas l'accès à Drive par votre application. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "domainPolicy",
        "message": "The domain administrators have disabled Drive apps."
      }
    ],
    "code": 403,
    "message": "The domain administrators have disabled Drive apps."
  }
}

Solution :

  1. Informez l'utilisateur que le domaine n'autorise pas votre application à accéder aux fichiers dans Drive.
  2. Demandez à l'utilisateur de contacter l'administrateur du domaine pour demander l'accès à votre application.

downloadRestrictedForRevision

Cette erreur se produit lorsque l'utilisateur ne peut pas télécharger une révision de fichier blob. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "download_restricted_for_revision",
        "message": "This revision cannot be downloaded by the authenticated user."
      }
    ],
    "code": 403,
    "message": "This revision cannot be downloaded by the authenticated user."
  }
}

Pour corriger cette erreur, informez l'utilisateur que la seule façon de télécharger les révisions de fichiers blob est de les marquer comme "Conserver indéfiniment". Pour en savoir plus, consultez Spécifier les révisions à enregistrer pour éviter la suppression automatique.

fileOwnerNotMemberOfTeamDrive

Cette erreur se produit lorsque vous essayez de déplacer un fichier vers un Drive partagé et que le propriétaire du fichier n'en est pas membre. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileOwnerNotMemberOfTeamDrive",
        "message": "Cannot move a file into a shared drive as a writer when the owner of the file is not a member of that shared drive."
      }
    ],
    "code": 403,
    "message": "Cannot move a file into a shared drive as a writer when the owner of the file is not a member of that shared drive."
  }
}

Solution :

  1. Ajoutez le membre au Drive partagé avec role=owner. Pour en savoir plus, consultez Partager des fichiers, des dossiers et des Drive.

  2. Ajoutez le fichier au Drive partagé. Pour en savoir plus, consultez Créer et remplir des dossiers.

fileWriterTeamDriveMoveInDisabled

Cette erreur se produit lorsqu'un administrateur de domaine n'a pas autorisé les utilisateurs disposant de role=writer à déplacer des éléments dans un Drive partagé. L'utilisateur qui tente de déplacer les éléments dispose de moins d'autorisations que celles autorisées dans le Drive partagé de destination. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileWriterTeamDriveMoveInDisabled",
        "message": "The domain administrator has not allowed writers to move items into a shared drive."
      }
    ],
    "code": 403,
    "message": "The domain administrator has not allowed writers to move items into a shared drive."
  }
}

Pour corriger cette erreur, utilisez le même compte utilisateur administrateur sur les Drives partagés source et de destination.

insufficientFilePermissions

Cette erreur se produit lorsque l'utilisateur n'a pas accès en écriture à un fichier et que votre application tente de le modifier. L'exemple JSON suivant est une représentation de cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "insufficientFilePermissions",
        "message": "The user does not have sufficient permissions for file {fileId}."
      }
    ],
    "code": 403,
    "message": "The user does not have sufficient permissions for file {fileId}."
  }
}

Pour corriger cette erreur, demandez à l'utilisateur de contacter le propriétaire du fichier et de lui demander un accès en modification. Vous pouvez également vérifier les niveaux d'accès des utilisateurs dans les métadonnées récupérées par la méthode files.get et afficher une interface utilisateur en lecture seule lorsque des autorisations sont manquantes.

myDriveHierarchyDepthLimitExceeded

Une erreur myDriveHierarchyDepthLimitExceeded se produit lorsque la limite du nombre de niveaux de dossiers imbriqués est dépassée. Le dossier "Mon Drive" d'un utilisateur ne peut pas contenir plus de 100 niveaux de dossiers imbriqués. Pour en savoir plus, consultez Limite de profondeur des dossiers.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "myDriveHierarchyDepthLimitExceeded",
    "message": "Your My Drive can't contain more than 100 levels of folders. For details, see https://developers.google.com/workspace/drive/api/guides/handle-errors#nested-folder-levels."
   }
  ],
  "code": 403,
  "message": "Your My Drive can't contain more than 100 levels of folders. For details, see https://developers.google.com/workspace/drive/api/guides/handle-errors#nested-folder-levels."
 }
}

Solution :

  1. Informez l'utilisateur que Drive empêche de placer des dossiers à plus de 100 niveaux de profondeur.
  2. Si l'utilisateur doit créer un autre dossier imbriqué, demandez-lui de réorganiser le dossier parent prévu pour qu'il comporte moins de 100 niveaux de profondeur ou d'utiliser un autre dossier parent qui répond déjà à l'exigence.

numChildrenInNonRootLimitExceeded

Cette erreur se produit lorsque la limite du nombre d'enfants (dossiers, fichiers et raccourcis) d'un dossier est dépassée. Les dossiers, fichiers et raccourcis placés directement dans un dossier sont limités à 500 000. Les éléments imbriqués dans des sous-dossiers ne sont pas comptabilisés dans cette limite de 500 000 éléments. Pour en savoir plus sur les limites applicables aux dossiers Drive, consultez Limites applicables aux dossiers dans Google Drive.

L'exemple JSON suivant représente cette erreur :

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "numChildrenInNonRootLimitExceeded",
    "message": "The limit for this folder's number of children (files and folders) has been exceeded."
   }
  ],
  "code": 403,
  "message": "The limit for this folder's number of children (files and folders) has been exceeded."
 }
}

Pour résoudre ce problème, essayez l'une des solutions suivantes :

  • Informez l'utilisateur que Drive empêche les dossiers contenant plus de 500 000 éléments.
  • Si l'utilisateur doit ajouter d'autres éléments au dossier complet, demandez-lui de réorganiser le dossier pour qu'il contienne moins de 500 000 éléments ou d'utiliser un dossier similaire qui contient déjà moins d'éléments.

rateLimitExceeded

Cette erreur se produit lorsque la limite de débit du projet a été atteinte. Cette limite varie en fonction du type de demande. L'exemple JSON suivant est une représentation de cette erreur :

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "message": "Rate Limit Exceeded",
    "reason": "rateLimitExceeded",
   }
  ],
  "code": 403,
  "message": "Rate Limit Exceeded"
 }
}

Pour résoudre ce problème, essayez l'une des solutions suivantes :

sharingRateLimitExceeded

Cette erreur se produit lorsque l'utilisateur atteint une limite de partage et est souvent liée à une limite d'e-mails. L'exemple JSON suivant représente cette erreur :

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "message": "Rate limit exceeded. User message: \"These item(s) could not be shared because a rate limit was exceeded: filename",
    "reason": "sharingRateLimitExceeded",
   }
  ],
  "code": 403,
  "message": "Rate Limit Exceeded"
 }
}

Solution :

  1. N'envoyez pas d'e-mails lorsque vous partagez de grandes quantités de fichiers.
  2. Si un utilisateur effectue de nombreuses requêtes au nom de plusieurs utilisateurs d'un compte Google Workspace, envisagez d'utiliser un compte de service avec délégation au niveau du domaine à l'aide du paramètre quotaUser.

storageQuotaExceeded

Cette erreur se produit lorsque l'utilisateur atteint sa limite de stockage. L'exemple JSON suivant représente cette erreur :

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "message": "The user's Drive storage quota has been exceeded.",
    "reason": "storageQuotaExceeded",
   }
  ],
  "code": 403,
  "message": "The user's Drive storage quota has been exceeded."
 }
}

Solution :

  1. Vérifiez les limites de stockage de votre compte Drive. Pour en savoir plus, consultez Limites de stockage et d'importation pour Google Workspace.

  2. Gérez votre espace de stockage dans Drive, Gmail et Google Photos.

  3. Achetez davantage d'espace de stockage Google.

teamDriveFileLimitExceeded

Cette erreur se produit lorsqu'un utilisateur tente de dépasser la limite stricte d'éléments dans un lecteur partagé. Dans le Drive partagé d'un utilisateur, chaque dossier peut contenir 500 000 éléments au maximum, y compris des fichiers, des dossiers et des raccourcis. Cette limite dépend du nombre d'éléments et non de votre utilisation de l'espace de stockage. Pour en savoir plus, consultez Limites des Drive partagés dans Google Drive.

L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDriveFileLimitExceeded",
        "message": "The file limit for this shared drive has been exceeded."
      }
    ],
    "code": 403,
    "message": "The file limit for this shared drive has been exceeded."
  }
}

Pour résoudre ce problème, réduisez le nombre d'éléments dans le Drive partagé. Il peut être difficile d'organiser des Drive partagés comportant trop de fichiers ou d'y effectuer des recherches.

teamDriveHierarchyTooDeep

Une erreur teamDriveHierarchyTooDeep se produit lorsque la limite du nombre de niveaux de dossiers imbriqués dans un Drive partagé a été dépassée. Un Drive partagé ne peut pas contenir plus de 100 niveaux de dossiers imbriqués. Pour en savoir plus, consultez Limite de profondeur des dossiers.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "teamDriveHierarchyTooDeep",
    "message": "The shared drive hierarchy depth will exceed the limit."
   }
  ],
  "code": 403,
  "message": "The shared drive hierarchy depth will exceed the limit."
 }
}

Solution :

  1. Informez l'utilisateur que les Drive partagés empêchent de placer des dossiers à plus de 100 niveaux de profondeur.
  2. Si l'utilisateur doit créer un autre dossier imbriqué, demandez-lui de réorganiser le dossier parent prévu pour qu'il comporte moins de 100 niveaux de profondeur ou d'utiliser un autre dossier parent qui répond déjà à l'exigence.

teamDriveMembershipRequired

Cette erreur se produit lorsqu'un utilisateur tente d'accéder à un Drive partagé dont il n'est pas membre. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDriveMembershipRequired",
        "message": "The attempted action requires shared drive membership."
      }
    ],
    "code": 403,
    "message": "The attempted action requires shared drive membership."
  }
}

Pour résoudre ce problème, essayez l'une des solutions suivantes :

  1. Demandez au gestionnaire du Drive partagé de vous ajouter avec les autorisations appropriées pour l'action que vous devez effectuer.

  2. Consultez les rôles et autorisations de Drive pour savoir qui peut accéder aux lecteurs partagés et les gérer. Pour en savoir plus sur les niveaux d'accès, consultez Créer un Drive partagé.

teamDrivesFolderMoveInNotSupported

Cette erreur se produit lorsqu'un utilisateur tente de déplacer un dossier de Mon Drive vers un Drive partagé. L'exemple JSON suivant est une représentation de cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDrivesFolderMoveInNotSupported",
        "message": "Moving folders into shared drives is not supported."
      }
    ],
    "code": 403,
    "message": "Moving folders into shared drives is not supported."
  }
}

Pour résoudre ce problème, essayez l'une des solutions suivantes :

  • Déplacez les éléments individuels du dossier vers un Drive partagé à l'aide de l'API Drive. Définissez le paramètre supportsAllDrives=true pour indiquer la compatibilité avec Mon Drive et les Drive partagés.

  • Si vous devez déplacer le dossier vers un Drive partagé, utilisez l'interface utilisateur de Drive. Pour en savoir plus, consultez Déplacer des dossiers vers des Drive partagés en tant qu'administrateur.

teamDrivesParentLimit

Cette erreur se produit lorsqu'un utilisateur tente d'ajouter plusieurs parents à un élément dans un Drive partagé. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDrivesParentLimit",
        "message": "A shared drive item must have exactly one parent."
      }
    ],
    "code": 403,
    "message": "A shared drive item must have exactly one parent."
  }
}

Pour corriger cette erreur, utilisez des raccourcis Drive pour ajouter plusieurs liens à un fichier. Bien qu'un raccourci ne puisse avoir qu'un seul parent, un fichier de raccourci peut être copié vers des emplacements supplémentaires. Pour en savoir plus, consultez Créer un raccourci vers un fichier Drive.

UrlLeaseLimitExceeded

Cette erreur se produit lorsque vous essayez d'enregistrer des données de jeu Google Play via votre application. L'exemple JSON suivant représente cette erreur :

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "UrlLeaseLimitExceeded",
    "message": "Too many pending uploads for this snapshot. Please finish or cancel some before creating more."
   }
  ],
  "code": 403,
  "message": "Too many pending uploads for this snapshot. Please finish or cancel some before creating more."
 }
}

Pour résoudre cette erreur, terminez ou annulez les importations d'instantanés avant d'en créer d'autres.

userRateLimitExceeded

Cette erreur se produit lorsque la limite par utilisateur a été atteinte. Il peut s'agir d'une limite de la console Google Cloud ou du backend Drive. L'exemple JSON suivant représente cette erreur :

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "userRateLimitExceeded",
    "message": "User Rate Limit Exceeded"
   }
  ],
  "code": 403,
  "message": "User Rate Limit Exceeded"
 }
}

Pour résoudre ce problème, essayez l'une des solutions suivantes :

Pour en savoir plus sur les limites de l'API Drive, consultez Limites d'utilisation.

Erreurs 404

Ces erreurs signifient que la ressource demandée n'est pas accessible ou n'existe pas.

notFound

Cette erreur se produit lorsque l'utilisateur n'a pas accès en lecture à un fichier ou que le fichier n'existe pas. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "notFound",
        "message": "File not found {fileId}"
      }
    ],
    "code": 404,
    "message": "File not found: {fileId}"
  }
}

Solution :

  1. Si le fichier se trouve dans un Drive partagé et que vous utilisez la méthode files.get, assurez-vous que le paramètre de requête supportsAllDrives est défini sur true.
  2. Informez l'utilisateur qu'il n'a pas accès en lecture au fichier ou que le fichier n'existe pas.
  3. Demandez à l'utilisateur de contacter le propriétaire du fichier et de lui demander l'autorisation d'y accéder.

Erreurs 429

Ces erreurs signifient que trop de requêtes ont été envoyées à l'API trop rapidement.

rateLimitExceeded

Cette erreur se produit lorsque l'utilisateur a envoyé trop de requêtes dans un laps de temps donné. L'exemple JSON suivant représente cette erreur :

{
  "error": {
    "errors": [
      {
        "domain": "usageLimits",
        "reason": "rateLimitExceeded",
        "message": "Rate Limit Exceeded"
      }
    ],
    "code": 429,
    "message": "Rate Limit Exceeded"s
  }
}

Pour résoudre ce problème, utilisez un intervalle exponentiel entre les tentatives pour relancer la requête.

Erreurs 500, 502, 503 et 504

Ces erreurs se produisent lorsqu'une erreur de serveur inattendue survient lors du traitement de la requête. Ces erreurs peuvent être dues à différents problèmes, par exemple le chevauchement du timing d'une requête avec celui d'une autre requête ou une requête pour une action non prise en charge, comme la tentative de mise à jour des autorisations pour une seule page dans Google Sites au lieu de l'ensemble du site.

Voici une liste des erreurs 5xx :

  • Erreur de backend 500
  • 502 Passerelle incorrecte
  • 503 Service indisponible.
  • 504 Expiration du délai de la passerelle

Pour résoudre ce problème, utilisez un intervalle exponentiel entre les tentatives pour relancer la requête.