L'API Google Drive est compatible avec plusieurs types d'actions de téléchargement et d'exportation, qui sont répertoriés dans le tableau suivant:
Actions de téléchargement |
|
||||
Actions d'exportation |
|
Avant de télécharger ou d'exporter le contenu d'un fichier, vérifiez que les utilisateurs peuvent le télécharger à l'aide du champ capabilities.canDownload
de la ressource files
.
Pour obtenir une description des types de fichiers mentionnés ici, y compris les fichiers blob et Google Workspace, consultez la section Types de fichiers.
Le reste de ce guide fournit des instructions détaillées pour effectuer ces types d'actions de téléchargement et d'exportation.
Télécharger le contenu du fichier blob
Pour télécharger un fichier blob stocké sur Drive, utilisez la méthode files.get
avec l'ID du fichier à télécharger et le paramètre d'URL alt=media
. Le paramètre d'URL alt=media
indique au serveur qu'un téléchargement de contenu est demandé en tant que format de réponse alternatif.
Le paramètre d'URL alt=media
est un paramètre système disponible dans toutes les API REST Google. Si vous utilisez une bibliothèque cliente pour l'API Drive, vous n'avez pas besoin de définir explicitement ce paramètre.
L'exemple de code suivant montre comment utiliser la méthode files.get
pour télécharger un fichier avec les bibliothèques clientes de l'API Drive.
Java
Python
Node.js
PHP
.NET
Cet exemple de code utilise une méthode de bibliothèque qui ajoute le paramètre d'URL alt=media
à la requête HTTP sous-jacente.
Les téléchargements de fichiers lancés à partir de votre application doivent être autorisés avec un champ d'application qui autorise l'accès en lecture au contenu du fichier. Par exemple, une application utilisant la portée drive.readonly.metadata
n'est pas autorisée à télécharger le contenu du fichier.
Cet exemple de code utilise le champ d'application de fichier "drive" limité, qui permet aux utilisateurs d'afficher et de gérer tous vos fichiers Drive. Pour en savoir plus sur les habilitations de Drive, consultez Choisir les habilitations de l'API Google Drive.
Les utilisateurs disposant de droits de modification peuvent limiter le téléchargement par les utilisateurs en lecture seule en définissant le champ copyRequiresWriterPermission
sur false
.
Les fichiers identifiés comme abusifs (tels que les logiciels nuisibles) ne peuvent être téléchargés que par le propriétaire du fichier.
En outre, le paramètre de requête get
acknowledgeAbuse=true
doit être inclus pour indiquer que l'utilisateur a reconnu le risque de télécharger des logiciels potentiellement indésirables ou d'autres fichiers abusifs. Votre application doit avertir l'utilisateur de manière interactive avant d'utiliser ce paramètre de requête.
Téléchargement partiel
Le téléchargement partiel n'implique que le téléchargement d'une partie spécifique d'un fichier. Vous pouvez spécifier la partie du fichier que vous souhaitez télécharger à l'aide d'une plage d'octets avec l'en-tête Range
. Exemple :
Range: bytes=500-999
Télécharger le contenu du fichier blob à une version antérieure
Pour télécharger le contenu de fichiers blob dans une version antérieure, utilisez la méthode revisions.get
avec l'ID du fichier à télécharger, l'ID de la révision et le paramètre d'URL alt=media
.
Le paramètre d'URL alt=media
indique au serveur qu'un téléchargement de contenu est demandé en tant que format de réponse alternatif. Comme files.get
, la méthode revisions.get
accepte également le paramètre de requête facultatif acknowledgeAbuse
et l'en-tête Range
. Pour en savoir plus sur le téléchargement des révisions, consultez la page Gérer les révisions de fichier.
Le protocole de requête est affiché ici.
GET https://www.googleapis.com/drive/v3/files/{FILE_ID
}/revisions/{REVISION_ID
}?alt=media
Télécharger le contenu d'un fichier blob dans un navigateur
Pour télécharger le contenu de fichiers blob stockés sur Drive dans un navigateur, au lieu de passer par l'API, utilisez le champ webContentLink
de la ressource files
. Si l'utilisateur dispose d'un accès en téléchargement au fichier, un lien permettant de télécharger le fichier et son contenu est renvoyé. Vous pouvez rediriger l'utilisateur vers cette URL ou la proposer sous forme de lien cliquable.
Télécharger le contenu d'un fichier blob pendant des opérations de longue durée
Pour télécharger le contenu de fichiers blob lors d'opérations de longue durée, utilisez la méthode files.download
avec l'ID du fichier à télécharger. Vous pouvez éventuellement définir l'ID de la révision. Il s'agit du seul moyen de télécharger des fichiers Google Vids. Pour en savoir plus, consultez la section Gérer les opérations de longue durée.
Exporter le contenu d'un document Google Workspace
Pour exporter le contenu d'octets du document Google Workspace, utilisez la méthode files.export
avec l'ID du fichier à exporter et le type MIME approprié. Le contenu exporté est limité à 10 Mo.
L'exemple de code suivant montre comment utiliser la méthode files.export
pour exporter un document Google Workspace au format PDF à l'aide des bibliothèques clientes de l'API Drive:
Java
Python
Node.js
PHP
.NET
Cet exemple de code utilise le champ d'application drive
restreint, qui permet aux utilisateurs de consulter et de gérer tous vos fichiers Drive. Pour en savoir plus sur les champs d'application Drive, consultez Choisir les champs d'application des API Google Drive.
L'exemple de code déclare également le type MIME d'exportation comme application/pdf
. Pour obtenir la liste complète de tous les types MIME d'exportation compatibles avec chaque document Google Workspace, consultez Types MIME d'exportation pour les documents Google Workspace.
Exporter le contenu d'un document Google Workspace dans un navigateur
Pour exporter le contenu d'un document Google Workspace dans un navigateur, utilisez le champ exportLinks
de la ressource files
. En fonction du type de document, un lien permettant de télécharger le fichier et son contenu est renvoyé pour chaque type MIME disponible. Vous pouvez rediriger un utilisateur vers une URL ou l'offrir en tant que lien cliquable.
Exporter le contenu d'un document Google Workspace à une version antérieure dans un navigateur
Pour exporter le contenu d'un document Google Workspace dans une version antérieure dans un navigateur, utilisez la méthode revisions.get
avec l'ID du fichier à télécharger et l'ID de révision pour générer un lien d'exportation à partir duquel vous pouvez effectuer le téléchargement. Si l'utilisateur dispose d'un accès au téléchargement du fichier, un lien permettant de télécharger le fichier et son contenu est renvoyé. Vous pouvez rediriger un utilisateur vers cette URL ou l'offrir en tant que lien cliquable.
Exporter le contenu de documents Google Workspace lors d'opérations de longue durée
Pour exporter le contenu d'un document Google Workspace lors d'opérations de longue durée, utilisez la méthode files.download
avec l'ID du fichier à télécharger et l'ID de la révision. Pour en savoir plus, consultez la section Gérer les opérations de longue durée.