L'API Google Drive propose plusieurs méthodes pour rechercher des fichiers et des dossiers.
Vous pouvez utiliser la méthode files.list
pour renvoyer
tout ou partie des fichiers et dossiers d'un utilisateur Drive. files.list
peut également être utilisée pour récupérer le fileId
requis pour certaines ressources
(telles que files.get
et
files.update
).
Rechercher tous les fichiers et dossiers dans le dossier Mon Drive de l'utilisateur actuel
Utilisez la méthode files.list
sans paramètre pour renvoyer tous les fichiers et
dossiers.
GET https://www.googleapis.com/drive/v3/files
Rechercher des fichiers ou des dossiers spécifiques dans le dossier Mon Drive de l'utilisateur actuel
Pour rechercher un ensemble spécifique de fichiers ou de dossiers, utilisez le champ de chaîne de requête q
à l'aide de la méthode files.list
pour filtrer
à renvoyer en combinant un ou plusieurs termes de recherche.
Une chaîne de requête se compose des trois parties suivantes:
query_term operator values
Où :
query_term
est le terme ou le champ de requête à rechercher.operator
spécifie la condition du terme de requête.values
correspond aux valeurs spécifiques que vous souhaitez utiliser pour filtrer votre recherche. résultats.
Pour afficher les termes et opérateurs de requête que vous pouvez utiliser pour filtrer les fichiers et les dossiers, consultez la section Opérateurs et termes de requête de recherche.
Par exemple, la chaîne de requête suivante filtre la recherche pour ne renvoyer en définissant le type MIME:
q: mimeType = 'application/vnd.google-apps.folder'
Pour en savoir plus sur les types MIME, consultez Google Workspace et Google Drive types MIME pris en charge.
Exemples de chaînes de requête
Le tableau suivant répertorie des exemples de chaînes de requête de base. Le code réel varie en fonction de la bibliothèque cliente que vous utilisez pour votre recherche.
Vous devez également échapper les caractères spéciaux dans les noms de vos fichiers pour vous assurer que le
fonctionne correctement. Par exemple, si un nom de fichier contient à la fois une apostrophe
('
) et une barre oblique inverse ("\"
), utilisez une barre oblique inverse pour les échapper: name
contains 'quinn\'s paper\\essay'
.
Ce que vous souhaitez interroger | Exemple |
---|---|
Fichiers nommés "hello" | name = 'hello' |
Fichiers dont le nom contient les mots "bonjour" et "au revoir" | name contains 'hello' and name contains 'goodbye' |
Les fichiers dont le nom ne contient pas le mot "bonjour" | not name contains 'hello' |
Fichiers contenant le texte "important" et dans la corbeille | fullText contains 'important' and trashed = true |
Fichiers contenant le mot "hello" | fullText contains 'hello' |
Fichiers qui ne contiennent pas le mot "hello" | not fullText contains 'hello' |
Fichiers contenant l'expression exacte "hello world" | fullText contains '"hello world"' |
Les fichiers associés à une requête contenant le caractère "\" Caractère (par exemple, "\authors") | fullText contains '\\authors' |
Fichiers correspondant à des dossiers | mimeType = 'application/vnd.google-apps.folder' |
Fichiers autres que des dossiers | mimeType != 'application/vnd.google-apps.folder' |
Fichiers modifiés après une date donnée (le fuseau horaire par défaut est UTC) | modifiedTime > '2012-06-04T12:00:00' |
Fichiers image ou vidéo modifiés après une date spécifique | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') |
Fichiers suivis | starred = true |
Les fichiers d'une collection (par exemple, l'ID de dossier dans la collection parents ) |
'1234567' in parents |
les fichiers d'un dossier de données d'application dans une collection ; | 'appDataFolder' in parents |
Fichiers pour lesquels l'utilisateur "test@example.org" est le propriétaire | 'test@example.org' in owners |
Fichiers pour lesquels l'utilisateur "test@example.org" dispose d'une autorisation en écriture | 'test@example.org' in writers |
Fichiers pour lesquels les membres du groupe "group@example.org" disposer d'une autorisation en écriture | 'group@example.org' in writers |
Fichiers partagés avec l'utilisateur autorisé avec "hello" dans le nom | sharedWithMe and name contains 'hello' |
Fichiers associés à une propriété de fichier personnalisée visible par toutes les applications | properties has { key='mass' and value='1.3kg' } |
Fichiers avec une propriété de fichier personnalisée réservée à l'application à l'origine de la demande | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
les fichiers qui n'ont été partagés avec personne ou avec des domaines (uniquement privés, ou partagés avec des utilisateurs ou des groupes spécifiques) ; | visibility = 'limited' |
Filtrer les résultats de recherche avec une bibliothèque cliente
L'exemple de code suivant montre comment filtrer la recherche à l'aide d'une bibliothèque cliente
vers les noms et les ID des fichiers JPEG. Cet exemple utilise le mimeType
terme de requête pour limiter les résultats aux fichiers de type image/jpeg
. Elle définit également
spaces
à drive
pour affiner davantage la recherche sur le Drive .
l'espace de noms. Lorsque nextPageToken
renvoie null
,
il n'y a plus de résultats.
Java
Python
Node.js
PHP
Rechercher des fichiers dont la propriété est personnalisée
Pour rechercher des fichiers dont la propriété est personnalisée, utilisez la commande properties
ou
le terme de requête de recherche appProperties
avec une clé et une valeur. Par exemple, pour
recherchez une propriété de fichier personnalisée réservée à l'application à l'origine de la demande, appelée
additionalID
avec la valeur 8e8aceg2af2ge72e78
:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
Pour en savoir plus, consultez la section Ajouter un fichier personnalisé propriétés.
Rechercher des fichiers avec un libellé ou une valeur de champ spécifique
Pour rechercher des fichiers portant des libellés spécifiques, utilisez le terme de requête de recherche labels
avec un ID d'étiquette spécifique. Exemple : 'labels/LABEL_ID' in
labels
. Si la requête aboutit, le corps de la réponse contient toutes les instances de fichier pour lesquelles le
est appliqué.
Pour rechercher des fichiers sans ID de libellé spécifique: Not
'labels/LABEL_ID' in labels
.
Vous pouvez également rechercher des fichiers en fonction de valeurs de champs spécifiques. Par exemple, pour
rechercher les fichiers contenant une valeur textuelle:
labels/LABEL_ID.text_field_id ='TEXT'
Pour en savoir plus, consultez la section Rechercher des fichiers portant un libellé ou un champ spécifique. de sortie.
Rechercher dans les corpus
Les recherches qui appellent files.list
utilisent la méthode
corpora
sur user
par défaut. Pour effectuer une recherche
d'autres corpus, tels que les fichiers partagés avec un domain
, définissez le corpora
.
Il est possible de rechercher plusieurs corpus dans une même requête, bien que les résultats soient incomplets.
peut être renvoyé si les corpus combinés sont trop volumineux. Si incompleteSearch
correspond à
true
dans le corps de la réponse, tous les documents n'ont pas été renvoyés. Si cette
vous devez affiner votre requête en choisissant un autre corpus,
user
ou drive
.
Articles associés
- Rechercher des Drive partagés
- Opérateurs et termes de requête de recherche
- Types MIME compatibles avec Google Workspace et Google Drive
- Rôles et autorisations
- Rechercher des fichiers avec un libellé ou une valeur de champ spécifique