A API Google Drive oferece várias formas 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 nenhum parâmetro 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 q
da string de consulta
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 ver 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 ao definir o tipo MIME:
q: mimeType = 'application/vnd.google-apps.folder'
Para mais informações sobre tipos MIME, consulte 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.
Você também precisa fazer o escape dos 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 um caractere de barra invertida ("\"
), use uma barra invertida para fazer o escape: name
contains 'quinn\'s paper\\essay'
.
O que você quer consultar | Exemplo |
---|---|
Arquivos com o nome "hello" | name = 'hello' |
Arquivos com um nome que contém as palavras "hello" e "goodbye" | name contains 'hello' and name contains 'goodbye' |
Arquivos com nomes que não contenham a palavra "olá" | 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 contê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 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 app em uma coleção | 'appDataFolder' in parents |
Arquivos de que o usuário "teste@exemplo.org" é o proprietário | 'test@example.org' in owners |
Arquivos em que o usuário "teste@exemplo.org" tem permissão de gravação | 'test@example.org' in writers |
Arquivos em que 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 tenham "hello" no nome | sharedWithMe and name contains 'hello' |
Arquivos com uma propriedade de arquivo personalizada visível para todos os apps | properties has { key='mass' and value='1.3kg' } |
Arquivos com uma propriedade de arquivo personalizada particular ao app solicitante | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
Arquivos que não foram compartilhados com ninguém ou com 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 resultados da pesquisa para nomes de arquivo e IDs de arquivos JPEG. Neste exemplo, usamos 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
retornar null
,
não haverá mais resultados.
Java
Python
Node.js
PHP
Pesquisar arquivos com uma propriedade de arquivo personalizada
Para pesquisar arquivos com uma propriedade de arquivo personalizada, use o termo de consulta de pesquisa properties
ou appProperties
com uma chave e um valor. Por exemplo, para
pesquisar uma propriedade de arquivo personalizada particular para o app solicitante, chamada
additionalID
com um valor 8e8aceg2af2ge72e78
:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
Para mais informações, consulte Adicionar propriedades de arquivos personalizados.
Pesquisar arquivos com um marcador específico ou valor de campo
Para pesquisar arquivos com marcadores específicos, use o termo de consulta de pesquisa labels
com um ID de marcador específico. Por exemplo, 'labels/LABEL_ID' in
labels
. Se a solicitação for bem-sucedida, o corpo da resposta incluirá 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 campos 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 valor de marcador ou campo específico.
Pesquisar o corpora
Pesquisas que chamam files.list
usam a
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 corpora em uma única consulta, mas resultados incompletos podem ser retornados se o corpora combinado for muito grande. Se incompleteSearch
for
true
no corpo da resposta, nenhum documento foi retornado. Se isso
acontecer, restrinja sua consulta escolhendo um corpora 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