A API Google Drive oferece várias maneiras de pesquisar arquivos e pastas.
Você pode usar o método files.list
para retornar
todos ou alguns dos arquivos e pastas de um usuário do Drive. O método files.list
também pode ser usado para recuperar o fileId
necessário para alguns métodos de recursos (como files.get
e files.update
).
Pesquisar todos os arquivos e pastas no Meu Drive do usuário atual
Use o método files.list
sem parâmetros para retornar todos os arquivos e
pastas.
GET https://www.googleapis.com/drive/v3/files
Pesquisar arquivos ou pastas específicos no Meu Drive do usuário atual
Para pesquisar um conjunto específico de arquivos ou pastas, use o campo de string de consulta q
com o método files.list
para filtrar os
arquivos a serem retornados combinando um ou mais termos de pesquisa.
Uma string de consulta contém as três partes a seguir:
query_term operator values
Em que:
query_term
é o termo ou campo de consulta a ser pesquisado.operator
especifica a condição do termo de consulta.values
são os valores específicos que você quer usar para filtrar os resultados da pesquisa.
Para conferir os termos e operadores de consulta que podem ser usados para filtrar arquivos e pastas, consulte Termos e operadores de consulta de pesquisa.
Por exemplo, a string de consulta a seguir filtra a pesquisa para retornar apenas pastas definindo o tipo MIME:
q: mimeType = 'application/vnd.google-apps.folder'
Para mais informações sobre tipos MIME, consulte os tipos MIME compatíveis com o Google Workspace e o Google Drive.
Exemplos de strings de consulta
A tabela a seguir lista exemplos de algumas strings de consulta básicas. O código real varia de acordo com a biblioteca de cliente usada na pesquisa.
Também é necessário escapar caracteres especiais nos nomes dos arquivos para garantir que a consulta funcione corretamente. Por exemplo, se um nome de arquivo contiver um apóstrofo
('
) e uma barra invertida ("\"
), use uma barra invertida para fazer o escape deles: name
contains 'quinn\'s paper\\essay'
.
O que você quer consultar | Exemplo |
---|---|
Arquivos com o nome "hello" | name = 'hello' |
Arquivos com um nome que contenha as palavras "hello" e "goodbye" | name contains 'hello' and name contains 'goodbye' |
Arquivos com um nome que não contém a palavra "hello" | not name contains 'hello' |
Arquivos que contêm o texto "importante" e estão na lixeira | fullText contains 'important' and trashed = true |
Arquivos que contêm a palavra "hello" | fullText contains 'hello' |
Arquivos que não têm a palavra "hello" | not fullText contains 'hello' |
Arquivos que contêm a frase exata "hello world" | fullText contains '"hello world"' |
Arquivos com uma consulta que contém o caractere "\" (por exemplo, "\authors") | fullText contains '\\authors' |
Arquivos que são pastas | mimeType = 'application/vnd.google-apps.folder' |
Arquivos que não são pastas | mimeType != 'application/vnd.google-apps.folder' |
Arquivos modificados após uma determinada data (o fuso horário padrão é UTC) | modifiedTime > '2012-06-04T12:00:00' |
Arquivos de imagem ou vídeo modificados após uma data específica | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') |
Arquivos marcados com estrela | starred = true |
Arquivos em uma coleção (por exemplo, o ID da pasta na coleção parents ) |
'1234567' in parents |
Arquivos em uma pasta de dados do aplicativo em uma coleção | 'appDataFolder' in parents |
Arquivos em que o usuário "test@example.org" é o proprietário | 'test@example.org' in owners |
Arquivos em que o usuário "test@example.org" tem permissão de gravação | 'test@example.org' in writers |
Arquivos em que os membros do grupo "group@example.org" têm permissão de gravação | 'group@example.org' in writers |
Arquivos compartilhados com o usuário autorizado que têm "olá" no nome | sharedWithMe and name contains 'hello' |
Arquivos com uma propriedade personalizada visível para todos os apps | properties has { key='mass' and value='1.3kg' } |
Arquivos com uma propriedade de arquivo personalizada privada para o app solicitante | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
Arquivos que não foram compartilhados com ninguém ou domínios (apenas particulares ou compartilhados com usuários ou grupos específicos) | visibility = 'limited' |
Filtrar resultados da pesquisa com uma biblioteca de cliente
O exemplo de código a seguir mostra como usar uma biblioteca de cliente para filtrar os resultados da pesquisa por nomes de arquivos e IDs de arquivos JPEG. Este exemplo usa o termo de consulta mimeType
para restringir os resultados a arquivos do tipo image/jpeg
. Ele também define
spaces
como drive
para restringir ainda mais a pesquisa ao espaço
do Drive. Quando nextPageToken
retorna null
,
não há mais resultados.
Java
Python
Node.js
PHP
Pesquisar arquivos com uma propriedade personalizada
Para pesquisar arquivos com uma propriedade personalizada, use o termo de consulta properties
ou appProperties
com uma chave e um valor. Por exemplo, para
pesquisar uma propriedade de arquivo personalizada particular para o app solicitante chamado
additionalID
com um valor de 8e8aceg2af2ge72e78
:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
Para mais informações, consulte Adicionar propriedades de arquivo personalizadas.
Pesquisar arquivos com um marcador ou valor de campo específico
Para pesquisar arquivos com rótulos específicos, use o termo de consulta labels
com um ID de rótulo específico. Por exemplo, 'labels/LABEL_ID' in
labels
. Se a solicitação for bem-sucedida, o corpo da resposta vai conter todas as instâncias de arquivo em que o rótulo foi aplicado.
Para pesquisar arquivos sem um ID de marcador específico: Not
'labels/LABEL_ID' in labels
.
Também é possível pesquisar arquivos com base em valores de campo específicos. Por exemplo, para
pesquisar arquivos com um valor de texto:
labels/LABEL_ID.text_field_id ='TEXT'
.
Para mais informações, consulte Pesquisar arquivos com um rótulo ou valor de campo específico.
Pesquisar nos corpora
As pesquisas que chamam files.list
usam o
corpora
de user
por padrão. Para pesquisar
outros corpora, como arquivos compartilhados com um domain
, defina o parâmetro corpora
.
É possível pesquisar vários corpus em uma única consulta, mas resultados incompletos podem ser retornados se o corpus combinado for muito grande. Se incompleteSearch
for true
no corpo da resposta, significa que nem todos os documentos foram retornados. Se isso acontecer, refine a consulta escolhendo um corpus diferente, como user
ou drive
.
Temas relacionados
- Pesquisar drives compartilhados
- Termos e operadores de consulta de pesquisa
- Tipos MIME compatíveis com o Google Workspace e o Google Drive
- Papéis e permissões
- Pesquisar arquivos com um marcador ou valor de campo específico