L'API Google Drive supporta diversi modi per cercare file e cartelle.
Puoi utilizzare il metodo files.list
per restituire tutti o alcuni dei file e delle cartelle di un utente di Drive. Il metodo files.list
può essere utilizzato anche per recuperare il fileId
richiesto per alcuni metodi
delle risorse (ad esempio files.get
e
files.update
).
Cerca tutti i file e le cartelle in Il mio Drive dell'utente corrente
Utilizza il metodo files.list
senza parametri per restituire tutti i file e le directory.
GET https://www.googleapis.com/drive/v3/files
Cercare file o cartelle specifici in Il mio Drive dell'utente corrente
Per cercare un insieme specifico di file o cartelle, utilizza il campo della stringa di query q
con il metodo files.list
per filtrare i file da restituire combinando uno o più termini di ricerca.
Una stringa di query contiene le seguenti tre parti:
query_term operator values
Dove:
query_term
è il termine o il campo di query su cui eseguire la ricerca.operator
specifica la condizione per il termine di query.values
sono i valori specifici che vuoi utilizzare per filtrare i risultati di ricerca.
Per visualizzare i termini e gli operatori di query che puoi utilizzare per filtrare file e cartelle, consulta Termini e operatori di query di ricerca.
Ad esempio, la seguente stringa di query filtra la ricerca in modo da restituire solo le cartelle impostando il tipo MIME:
q: mimeType = 'application/vnd.google-apps.folder'
Per saperne di più sui tipi MIME, consulta i tipi MIME supportati da Google Workspace e Google Drive.
Esempi di stringhe di query
La tabella seguente elenca alcuni esempi di stringhe di query di base. Il codice effettivo varia a seconda della libreria client utilizzata per la ricerca.
Devi anche utilizzare il codice di escape per i caratteri speciali nei nomi dei file per assicurarti che la query funzioni correttamente. Ad esempio, se un nome file contiene sia un'apostrofo ('
) sia un carattere barra rovesciata ("\"
), utilizza una barra rovesciata per eseguire l'escape: name
contains 'quinn\'s paper\\essay'
.
Che cosa vuoi eseguire una query | Esempio |
---|---|
File con il nome "hello" | name = 'hello' |
File con un nome contenente le parole "ciao" e "arrivederci" | name contains 'hello' and name contains 'goodbye' |
File con un nome che non contiene la parola "ciao" | not name contains 'hello' |
File che contengono il testo "importante" e che si trovano nel cestino | fullText contains 'important' and trashed = true |
File che contengono la parola "ciao" | fullText contains 'hello' |
File che non contengono la parola "ciao" | not fullText contains 'hello' |
File che contengono la frase esatta "hello world" | fullText contains '"hello world"' |
File con una query contenente il carattere "\" (ad es. "\authors") | fullText contains '\\authors' |
File che sono cartelle | mimeType = 'application/vnd.google-apps.folder' |
File che non sono cartelle | mimeType != 'application/vnd.google-apps.folder' |
File modificati dopo una determinata data (il fuso orario predefinito è UTC) | modifiedTime > '2012-06-04T12:00:00' |
File di immagini o video modificati dopo una data specifica | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') |
File aggiunti a Speciali | starred = true |
File all'interno di una raccolta (ad esempio, l'ID cartella nella raccolta parents ) |
'1234567' in parents |
File in una cartella di dati dell'applicazione in una raccolta | 'appDataFolder' in parents |
File di cui l'utente "test@example.org" è il proprietario | 'test@example.org' in owners |
File per i quali l'utente "test@example.org" dispone dell'autorizzazione di scrittura | 'test@example.org' in writers |
File per i quali i membri del gruppo "group@example.org" dispongono dell'autorizzazione di scrittura | 'group@example.org' in writers |
File condivisi con l'utente autorizzato con "ciao" nel nome | sharedWithMe and name contains 'hello' |
File con una proprietà file personalizzata visibile a tutte le app | properties has { key='mass' and value='1.3kg' } |
File con una proprietà file personalizzata privata per l'app che effettua la richiesta | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
File che non sono stati condivisi con nessuno o con nessun dominio (solo privati o condivisi con utenti o gruppi specifici) | visibility = 'limited' |
Filtrare i risultati di ricerca con una libreria client
Il seguente esempio di codice mostra come utilizzare una libreria client per filtrare i risultati di ricerca in base ai nomi e agli ID dei file JPEG. Questo esempio utilizza il termine di query mimeType
per restringere i risultati ai file di tipo image/jpeg
. Imposta inoltre spaces
su drive
per restringere ulteriormente la ricerca allo spazio di Drive. Quando nextPageToken
restituisce null
,
non ci sono altri risultati.
Cercare file con una proprietà file personalizzata
Per cercare file con una proprietà file personalizzata, utilizza il termine di query di ricerca properties
o
appProperties
con una chiave e un valore. Ad esempio, per cercare una proprietà file personalizzata privata per l'app richiedente chiamata additionalID
con un valore 8e8aceg2af2ge72e78
:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
Per ulteriori informazioni, vedi Aggiungere proprietà file personalizzate.
Cercare file con un'etichetta o un valore di campo specifico
Per cercare file con etichette specifiche, utilizza il termine di query di ricerca labels
con un ID etichetta specifico. Ad esempio: 'labels/LABEL_ID' in
labels
. In caso di esito positivo, il corpo della risposta contiene tutte le istanze di file a cui è applicata l'etichetta.
Per cercare file senza un ID etichetta specifico: Not
'labels/LABEL_ID' in labels
.
Puoi anche cercare i file in base a valori di campo specifici. Ad esempio, per cercare file con un valore di testo:labels/LABEL_ID.text_field_id ='TEXT'
.
Per ulteriori informazioni, vedi Cercare file con un'etichetta o un valore di campo specifico.
Cerca nei corpora
Per impostazione predefinita, le ricerche che chiamano files.list
utilizzano il
corpora
di user
. Per eseguire ricerche in altri corpora, ad esempio i file condivisi con un domain
, imposta il parametro corpora
.
È possibile eseguire ricerche in più corpora in una singola query, anche se potrebbero essere restituiti risultati incompleti se i corpora combinati sono troppo grandi. Se incompleteSearch
è
true
nel corpo della risposta, significa che non sono stati restituiti tutti i documenti. In questo caso, devi restringere la query scegliendo corpora diversi, ad esempio user
o drive
.
Argomenti correlati
- Cercare i Drive condivisi
- Termini e operatori delle query di ricerca
- Tipi MIME supportati da Google Workspace e Google Drive
- Ruoli e autorizzazioni
- Cercare file con un'etichetta o un valore di campo specifico