Class DriveApp

DriveApp

Permet aux scripts de créer, de trouver et de modifier des fichiers et des dossiers dans Google Drive. Bien que le service Drive intégré soit plus facile à utiliser, il présente certaines limites. Pour bénéficier des fonctionnalités et de l'assistance les plus récentes, et pour accéder aux fichiers ou dossiers dans les Drive partagés, utilisez le service Drive avancé.

// Logs the name of every file in the user's Drive.
const files = DriveApp.getFiles();
while (files.hasNext()) {
  const file = files.next();
  console.log(file.getName());
}

Propriétés

PropriétéTypeDescription
AccessAccessÉnumération représentant les classes d'utilisateurs pouvant accéder à un fichier ou à un dossier, en plus des utilisateurs individuels auxquels l'accès a été explicitement accordé.
PermissionPermissionÉnumération représentant les autorisations accordées aux utilisateurs pouvant accéder à un fichier ou à un dossier, en plus des utilisateurs individuels auxquels l'accès a été explicitement accordé.

Méthodes

MéthodeType renvoyéBrève description
continueFileIterator(continuationToken)FileIteratorReprend une itération de fichier à l'aide d'un jeton de continuation provenant d'un itérateur précédent.
continueFolderIterator(continuationToken)FolderIteratorReprend l'itération d'un dossier à l'aide d'un jeton de continuation provenant d'un itérateur précédent.
createFile(blob)FileCrée un fichier à la racine du Drive de l'utilisateur à partir d'un Blob de données arbitraires.
createFile(name, content)FileCrée un fichier texte à la racine du Drive de l'utilisateur avec le nom et le contenu indiqués.
createFile(name, content, mimeType)FileCrée un fichier à la racine du Drive de l'utilisateur avec le nom, le contenu et le type MIME spécifiés.
createFolder(name)FolderCrée un dossier à la racine du Drive de l'utilisateur avec le nom indiqué.
createShortcut(targetId)FileCrée un raccourci vers l'ID de l'élément Drive fourni et le renvoie.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileCrée un raccourci vers l'ID et la clé de ressource de l'élément Drive fournis, puis le renvoie.
enforceSingleParent(value)voidActive ou désactive le comportement enforceSingleParent pour tous les appels affectant les parents des éléments.
getFileById(id)FileRécupère le fichier avec l'ID donné.
getFileByIdAndResourceKey(id, resourceKey)FileRécupère le fichier avec l'ID et la clé de ressource indiqués.
getFiles()FileIteratorRécupère une collection de tous les fichiers du Drive de l'utilisateur.
getFilesByName(name)FileIteratorRécupère une collection de tous les fichiers du Drive de l'utilisateur portant le nom indiqué.
getFilesByType(mimeType)FileIteratorObtient une collection de tous les fichiers du Drive de l'utilisateur qui ont le type MIME spécifié.
getFolderById(id)FolderRécupère le dossier avec l'ID donné.
getFolderByIdAndResourceKey(id, resourceKey)FolderRécupère le dossier avec l'ID et la clé de ressource indiqués.
getFolders()FolderIteratorRécupère une collection de tous les dossiers du Drive de l'utilisateur.
getFoldersByName(name)FolderIteratorObtient une collection de tous les dossiers du Drive de l'utilisateur portant le nom indiqué.
getRootFolder()FolderRécupère le dossier à la racine du Drive de l'utilisateur.
getStorageLimit()IntegerObtient le nombre d'octets que l'utilisateur est autorisé à stocker dans Drive.
getStorageUsed()IntegerObtient le nombre d'octets que l'utilisateur stocke actuellement dans Drive.
getTrashedFiles()FileIteratorRécupère une collection de tous les fichiers de la corbeille du Drive de l'utilisateur.
getTrashedFolders()FolderIteratorRécupère une collection de tous les dossiers de la corbeille du Drive de l'utilisateur.
searchFiles(params)FileIteratorObtient une collection de tous les fichiers du Drive de l'utilisateur qui correspondent aux critères de recherche spécifiés.
searchFolders(params)FolderIteratorObtient une collection de tous les dossiers du Drive de l'utilisateur qui correspondent aux critères de recherche spécifiés.

Documentation détaillée

continueFileIterator(continuationToken)

Reprend une itération de fichier à l'aide d'un jeton de continuation provenant d'un itérateur précédent. Cette méthode est utile si le traitement d'un itérateur en une seule exécution dépasse le temps d'exécution maximal. Les jetons de continuation sont généralement valables une semaine.

// Continues getting a list of all 'Untitled document' files in the user's
// Drive. Creates a file iterator named 'previousIterator'.
const previousIterator = DriveApp.getFilesByName('Untitled document');

// Gets continuation token from the previous file iterator.
const continuationToken = previousIterator.getContinuationToken();

// Creates a new iterator using the continuation token from the previous file
// iterator.
const newIterator = DriveApp.continueFileIterator(continuationToken);

// Resumes the file iteration using a continuation token from 'firstIterator'
// and logs the file name.
if (newIterator.hasNext()) {
  const file = newIterator.next();
  console.log(file.getName());
}

Paramètres

NomTypeDescription
continuationTokenStringJeton de continuation d'un itérateur de fichier précédent.

Renvois

FileIterator : ensemble de fichiers qui sont restés dans un itérateur précédent lorsque le jeton de continuation a été généré.


continueFolderIterator(continuationToken)

Reprend l'itération d'un dossier à l'aide d'un jeton de continuation provenant d'un itérateur précédent. Cette méthode est utile si le traitement d'un itérateur en une seule exécution dépasse le temps d'exécution maximal. Les jetons de continuation sont généralement valides pendant une semaine.

// Continues getting a list of all folders in user's Drive.
// Creates a folder iterator named 'previousIterator'.
const previousIterator = DriveApp.getFolders();

// Gets continuation token from the previous folder iterator.
const continuationToken = previousIterator.getContinuationToken();

// Creates a new iterator using the continuation token from the previous folder
// iterator.
const newIterator = DriveApp.continueFolderIterator(continuationToken);

// Resumes the folder iteration using a continuation token from the previous
// iterator and logs the folder name.
if (newIterator.hasNext()) {
  const folder = newIterator.next();
  console.log(folder.getName());
}

Paramètres

NomTypeDescription
continuationTokenStringJeton de continuation d'un itérateur de dossier précédent.

Renvois

FolderIterator : collection de dossiers qui sont restés dans un itérateur précédent lorsque le jeton de continuation a été généré.


createFile(blob)

Crée un fichier à la racine du Drive de l'utilisateur à partir d'un Blob de données arbitraires.

Paramètres

NomTypeDescription
blobBlobSourceDonnées du nouveau fichier.

Renvois

File : nouveau fichier.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive

createFile(name, content)

Crée un fichier texte à la racine du Drive de l'utilisateur avec le nom et le contenu indiqués. Génère une exception si content est supérieur à 50 Mo.

// Create a text file with the content "Hello, world!"
DriveApp.createFile('New Text File', 'Hello, world!');

Paramètres

NomTypeDescription
nameStringNom du nouveau fichier.
contentStringContenu du nouveau fichier.

Renvois

File : nouveau fichier.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive

createFile(name, content, mimeType)

Crée un fichier à la racine du Drive de l'utilisateur avec le nom, le contenu et le type MIME spécifiés. Génère une exception si content est supérieur à 10 Mo.

// Create an HTML file with the content "Hello, world!"
DriveApp.createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);

Paramètres

NomTypeDescription
nameStringNom du nouveau fichier.
contentStringContenu du nouveau fichier.
mimeTypeStringType MIME du nouveau fichier.

Renvois

File : nouveau fichier.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive

createFolder(name)

Crée un dossier à la racine du Drive de l'utilisateur avec le nom indiqué.

Paramètres

NomTypeDescription
nameStringNom du nouveau dossier.

Renvois

Folder : le nouveau dossier.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive

createShortcut(targetId)

Crée un raccourci vers l'ID de l'élément Drive fourni et le renvoie.

Paramètres

NomTypeDescription
targetIdStringID du fichier ou du dossier cible.

Renvois

File : le nouveau raccourci.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

Crée un raccourci vers l'ID et la clé de ressource de l'élément Drive fournis, puis le renvoie. Une clé de ressource est un paramètre supplémentaire qui doit être transmis pour accéder au fichier ou au dossier cible qui a été partagé à l'aide d'un lien.

// Creates shortcuts for all folders in the user's drive that have a specific
// name.
// TODO(developer): Replace 'Test-Folder' with a valid folder name in your
// drive.
const folders = DriveApp.getFoldersByName('Test-Folder');

// Iterates through all folders named 'Test-Folder'.
while (folders.hasNext()) {
  const folder = folders.next();

  // Creates a shortcut to the provided Drive item ID and resource key, and
  // returns it.
  DriveApp.createShortcutForTargetIdAndResourceKey(
      folder.getId(),
      folder.getResourceKey(),
  );
}

Paramètres

NomTypeDescription
targetIdStringID du fichier ou du dossier cible.
targetResourceKeyStringClé de ressource du fichier ou du dossier cible.

Renvois

File : le nouveau raccourci.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive

enforceSingleParent(value)

Active ou désactive le comportement enforceSingleParent pour tous les appels affectant les parents des éléments.

Pour en savoir plus, consultez l'article de blog Simplifier la structure des dossiers et les modèles de partage de Google Drive.

// Enables enforceSingleParent behavior for all calls affecting item parents.
DriveApp.enforceSingleParent(true);

Paramètres

NomTypeDescription
valueBooleanNouvel état du flag enforceSingleParent.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive

getFileById(id)

Récupère le fichier avec l'ID donné. Génère une exception de script si le fichier n'existe pas ou si l'utilisateur n'est pas autorisé à y accéder.

// Gets a list of all files in Google Drive with the given name.
// TODO(developer): Replace 'Test' with your file name.
const files = DriveApp.getFilesByName('Test');

if (files.hasNext()) {
  // Gets the ID of each file in the list.
  const fileId = files.next().getId();

  // Gets the file name using its ID and logs it to the console.
  console.log(DriveApp.getFileById(fileId).getName());
}

Paramètres

NomTypeDescription
idStringID du fichier.

Renvois

File : fichier avec l'ID donné.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFileByIdAndResourceKey(id, resourceKey)

Récupère le fichier avec l'ID et la clé de ressource indiqués. Les clés de ressource sont un paramètre supplémentaire qui doit être transmis pour accéder aux fichiers partagés à l'aide d'un lien.

Génère une exception de script si le fichier n'existe pas ou si l'utilisateur n'est pas autorisé à y accéder.

// Gets a list of all files in Drive with the given name.
// TODO(developer): Replace 'Test' with your file name.
const files = DriveApp.getFilesByName('Test');
if (files.hasNext()) {
  // Gets the first file in the list.
  const file = files.next();

  // Gets the ID and resource key.
  const key = file.getResourceKey();
  const id = file.getId();

  // Logs the file name to the console using its ID and resource key.
  console.log(DriveApp.getFileByIdAndResourceKey(id, key).getName());
}

Paramètres

NomTypeDescription
idStringID du fichier.
resourceKeyStringClé de ressource du dossier.

Renvois

File : fichier avec l'ID donné.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFiles()

Récupère une collection de tous les fichiers du Drive de l'utilisateur.

Renvois

FileIterator : collection de tous les fichiers du Drive de l'utilisateur.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByName(name)

Récupère une collection de tous les fichiers du Drive de l'utilisateur portant le nom indiqué.

Paramètres

NomTypeDescription
nameStringNom des fichiers à rechercher.

Renvois

FileIterator : collection de tous les fichiers du Drive de l'utilisateur portant le nom indiqué.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByType(mimeType)

Obtient une collection de tous les fichiers du Drive de l'utilisateur qui ont le type MIME spécifié.

Paramètres

NomTypeDescription
mimeTypeStringType MIME des fichiers à rechercher.

Renvois

FileIterator : collection de tous les fichiers du Drive de l'utilisateur qui ont le type MIME indiqué.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolderById(id)

Récupère le dossier avec l'ID donné. Génère une exception de script si le dossier n'existe pas ou si l'utilisateur n'est pas autorisé à y accéder.

Paramètres

NomTypeDescription
idStringID du dossier.

Renvois

Folder : dossier avec l'ID indiqué.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolderByIdAndResourceKey(id, resourceKey)

Récupère le dossier avec l'ID et la clé de ressource indiqués. Les clés de ressource sont un paramètre supplémentaire qui doit être transmis pour accéder aux dossiers partagés à l'aide d'un lien.

Génère une exception de script si le dossier n'existe pas ou si l'utilisateur n'est pas autorisé à y accéder.

Paramètres

NomTypeDescription
idStringID du dossier.
resourceKeyStringClé de ressource du dossier.

Renvois

Folder : dossier avec l'ID indiqué.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolders()

Récupère une collection de tous les dossiers du Drive de l'utilisateur.

Renvois

FolderIterator : collection de tous les dossiers du Drive de l'utilisateur.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFoldersByName(name)

Obtient une collection de tous les dossiers du Drive de l'utilisateur portant le nom indiqué.

Paramètres

NomTypeDescription
nameStringNom des dossiers à trouver.

Renvois

FolderIterator : collection de tous les dossiers du Drive de l'utilisateur portant le nom indiqué.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getRootFolder()

Récupère le dossier à la racine du Drive de l'utilisateur.

// Gets the user's My Drive folder and logs its name to the console.
console.log(DriveApp.getRootFolder().getName());

// Logs the Drive owner's name to the console.
console.log(DriveApp.getRootFolder().getOwner().getName());

Renvois

Folder : dossier racine du Drive de l'utilisateur.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getStorageLimit()

Obtient le nombre d'octets que l'utilisateur est autorisé à stocker dans Drive.

// Gets the number of bytes the user can store in Drive and logs it to the
// console.
console.log(DriveApp.getStorageLimit());

Renvois

Integer : nombre d'octets que l'utilisateur est autorisé à stocker dans Drive.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getStorageUsed()

Obtient le nombre d'octets que l'utilisateur stocke actuellement dans Drive.

// Gets the number of bytes the user is currently storing in Drive and logs it
// to the console.
console.log(DriveApp.getStorageUsed());

Renvois

Integer : nombre d'octets que l'utilisateur stocke actuellement dans Drive.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getTrashedFiles()

Récupère une collection de tous les fichiers de la corbeille du Drive de l'utilisateur.

// Gets a list of all the files in the trash of the user's Drive.
const trashFiles = DriveApp.getTrashedFiles();

// Logs the trash file names to the console.
while (trashFiles.hasNext()) {
  const file = trashFiles.next();
  console.log(file.getName());
}

Renvois

FileIterator : ensemble de fichiers dans la corbeille.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getTrashedFolders()

Récupère une collection de tous les dossiers de la corbeille du Drive de l'utilisateur.

// Gets a collection of all the folders in the trash of the user's Drive.
const trashFolders = DriveApp.getTrashedFolders();

// Logs the trash folder names to the console.
while (trashFolders.hasNext()) {
  const folder = trashFolders.next();
  console.log(folder.getName());
}

Renvois

FolderIterator : ensemble de dossiers dans la corbeille.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFiles(params)

Obtient une collection de tous les fichiers du Drive de l'utilisateur qui correspondent aux critères de recherche spécifiés. Les critères de recherche sont détaillés dans la documentation du SDK Google Drive. Notez que le service Drive utilise la version 2 de l'API Drive et que certains champs de requête diffèrent de la version 3. Examinez les différences entre les champs des versions v2 et v3.

L'argument params est une chaîne de requête qui peut contenir des valeurs de chaîne. Veillez donc à échapper correctement les guillemets (par exemple, "title contains 'Gulliver\\'s Travels'" ou 'title contains "Gulliver\'s Travels"').

// Logs the name of every file in the user's Drive that modified after February 28,
// 2022 whose name contains "untitled.""
const files = DriveApp.searchFiles(
    'modifiedDate > "2022-02-28" and title contains "untitled"');
while (files.hasNext()) {
  const file = files.next();
  console.log(file.getName());
}

Paramètres

NomTypeDescription
paramsStringCritères de recherche, comme indiqué dans la documentation du SDK Google Drive.

Renvois

FileIterator : collection de tous les fichiers du Drive de l'utilisateur qui correspondent aux critères de recherche.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFolders(params)

Obtient une collection de tous les dossiers du Drive de l'utilisateur qui correspondent aux critères de recherche spécifiés. Les critères de recherche sont détaillés dans la documentation du SDK Google Drive. Notez que le service Drive utilise la version 2 de l'API Drive et que certains champs de requête diffèrent de la version 3. Examinez les différences entre les champs des versions v2 et v3.

L'argument params est une chaîne de requête qui peut contenir des valeurs de chaîne. Veillez donc à échapper correctement les guillemets (par exemple, "title contains 'Gulliver\\'s Travels'" ou 'title contains "Gulliver\'s Travels"').

// Logs the name of every folder in the user's Drive that you own and is starred.
const folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  const folder = folders.next();
  console.log(folder.getName());
}

Paramètres

NomTypeDescription
paramsStringCritères de recherche, comme indiqué dans la documentation du SDK Google Drive.

Renvois

FolderIterator : collection de tous les dossiers du Drive de l'utilisateur correspondant aux critères de recherche.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

Méthodes obsolètes