Les dossiers sont des fichiers qui ne contiennent que des métadonnées et qui peuvent être utilisés pour organiser les fichiers dans Google Drive. Ils présentent les propriétés suivantes :
- Un dossier est un fichier dont le type MIME
application/vnd.google-apps.folderest et qui ne comporte aucune extension. - L'alias
rootpeut être utilisé pour faire référence au dossier racine partout où un ID de fichier est fourni.
Pour en savoir plus sur les limites applicables aux dossiers Drive, consultez Limites applicables aux fichiers et aux dossiers.
Ce guide explique comment effectuer certaines tâches de base liées aux dossiers.
Créer un dossier
Pour créer un dossier, utilisez la files.create()
méthode avec le mimeType de application/vnd.google-apps.folder et un name.
L'exemple de code suivant montre comment créer un dossier à l'aide d'une bibliothèque cliente :
Java
Python
Node.js
PHP
.NET
curl
curl -X POST 'https://www.googleapis.com/drive/v3/files' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "FOLDER_NAME",
"mimeType": "application/vnd.google-apps.folder"
}'
Remplacez les éléments suivants :
- ACCESS_TOKEN : jeton OAuth 2.0 de votre application.
- FOLDER_NAME : nom du dossier à créer.
Créer un fichier dans un dossier spécifique
Pour créer un fichier dans un dossier spécifique, utilisez la files.create() méthode et spécifiez l'ID du dossier dans la
parents propriété du fichier.
La propriété parents contient l'ID du dossier parent contenant le fichier.
La propriété parents peut être utilisée lors de la création de fichiers dans un dossier de premier niveau ou dans tout autre dossier.
Un fichier ne peut avoir qu'un seul dossier parent. La spécification de plusieurs parents n'est pas prise en charge. Si le champ parents n'est pas spécifié, le fichier est placé directement dans le dossier Mon Drive de l'utilisateur.
L'exemple de code suivant montre comment créer un fichier dans un dossier spécifique à l'aide d'une bibliothèque cliente :
Java
Python
Node.js
PHP
.NET
curl
curl -X POST 'https://www.googleapis.com/drive/v3/files' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "photo.jpg",
"parents": [
"FOLDER_ID"
]
}'
Remplacez les éléments suivants :
- ACCESS_TOKEN : jeton OAuth 2.0 de votre application.
- FOLDER_ID : ID du dossier dans lequel créer le fichier.
Déplacer des fichiers entre des dossiers
Pour déplacer des fichiers, vous devez mettre à jour l'ID de la propriété parents.
Pour ajouter ou supprimer des parents pour un fichier existant, utilisez la files.update() méthode avec les paramètres de requête addParents et
removeParents.
Un fichier ne peut avoir qu'un seul dossier parent. La spécification de plusieurs parents n'est pas prise en charge.
L'exemple de code suivant montre comment déplacer un fichier entre des dossiers à l'aide d'une bibliothèque cliente :
Java
Python
Node.js
PHP
.NET
curl
curl -X PATCH 'https://www.googleapis.com/drive/v3/files/FILE_ID?addParents=NEW_PARENT_ID&removeParents=PREVIOUS_PARENT_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Accept: application/json'
Remplacez les éléments suivants :
- FILE_ID : ID du fichier à déplacer.
- NEW_PARENT_ID : ID du dossier vers lequel déplacer le fichier.
- PREVIOUS_PARENT_ID : liste de dossiers parents séparés par une virgule à partir desquels supprimer le fichier.
- ACCESS_TOKEN : jeton OAuth 2.0 de votre application.
Limites applicables aux fichiers et aux dossiers
Les fichiers et dossiers Drive sont soumis à certaines limites de stockage.
Limite d'éléments par utilisateur
Chaque utilisateur peut disposer d'un maximum de 500 millions d'éléments créés par ce compte. Lorsque cette limite est atteinte, l'utilisateur ne peut plus créer ni importer d'éléments dans Drive. Il peut toujours afficher et modifier les éléments existants. Pour recréer des fichiers, il doit les supprimer définitivement ou utiliser un autre compte. Pour en savoir plus, consultez Mettre des fichiers et des dossiers dans la corbeille ou les supprimer.
Les objets qui sont pris en compte dans cette limite sont les suivants :
- Éléments créés ou importés par l'utilisateur dans Drive
- Éléments créés par l'utilisateur, mais qui appartiennent désormais à une autre personne
- Éléments dans la corbeille
- Raccourcis
- Raccourcis tiers
Les objets qui ne sont pas pris en compte dans cette limite sont les suivants :
- Éléments supprimés définitivement
- Éléments partagés avec l'utilisateur, mais qui appartiennent à une autre personne
- Éléments appartenant à l'utilisateur, mais créés par une autre personne
Si vous tentez d'ajouter plus de 500 millions d'éléments, vous recevrez un code d'état HTTP
activeItemCreationLimitExceeded.
Notez que les comptes de service ne peuvent pas posséder de fichiers. Ils doivent importer des fichiers et des dossiers dans des Drive partagés ou utiliser OAuth 2.0 pour importer des éléments au nom d'un utilisateur humain.
Limite d'éléments par dossier
Chaque dossier du dossier Mon Drive d'un utilisateur est limité à 500 000 éléments. Cette limite ne s'applique pas au dossier racine de Mon Drive. Les éléments qui sont pris en compte dans cette limite sont les suivants :
- Dossiers
- Fichiers (tous les types de fichiers, quel que soit le propriétaire)
- Raccourcis (comptent comme un seul élément dans un dossier, même si l'élément vers lequel ils pointent ne se trouve pas dans ce dossier) Pour en savoir plus, consultez Créer un raccourci vers un fichier Drive.
- Raccourcis tiers (comptent comme un seul élément dans un dossier, même si l'élément vers lequel ils pointent ne se trouve pas dans ce dossier) Pour en savoir plus, consultez Créer un fichier de raccourci vers du contenu stocké par votre application.
Pour en savoir plus sur les limites applicables aux dossiers, consultez Limites applicables aux dossiers dans Google Drive.
Limite de profondeur des dossiers
Le dossier Mon Drive d'un utilisateur ne peut pas contenir plus de 100 niveaux de dossiers imbriqués. Cela signifie qu'un dossier enfant ne peut pas être stocké sous un dossier dont la profondeur est supérieure à 99 niveaux. Cette limitation ne s'applique qu'aux dossiers enfants. Un fichier enfant
dont le type MIME est différent de
application/vnd.google-apps.folder est exempté de cette limitation.
Par exemple, dans le schéma suivant, un nouveau dossier peut être imbriqué dans le dossier numéro 99, mais pas dans le dossier numéro 100. Toutefois, le dossier numéro 100 peut stocker des fichiers comme n'importe quel autre dossier Drive :
Si vous tentez d'ajouter plus de 100 niveaux de dossiers, vous recevrez un
myDriveHierarchyDepthLimitExceeded
code d'état HTTP.
Articles associés
- Créer et gérer des fichiers
- Gérer les métadonnées des fichiers
- Limites applicables aux fichiers et aux dossiers dans les Drive partagés