La API de Google Drive admite varias formas de buscar archivos y carpetas.
Puedes usar el método files.list
para mostrar todos o algunos de los archivos y carpetas de un usuario de Drive. El método files.list
también se puede usar para recuperar el fileId
necesario para algunos métodos de recursos (como files.get
y files.update
).
Buscar todos los archivos y carpetas de la sección Mi unidad del usuario actual
Usa el método files.list
sin ningún parámetro para mostrar todos los archivos y las carpetas.
GET https://www.googleapis.com/drive/v3/files
Buscar archivos o carpetas específicos en Mi unidad del usuario actual
Para buscar un conjunto específico de archivos o carpetas, usa el campo q
de la cadena de consulta con el método files.list
para filtrar los archivos que se mostrarán combinando uno o más términos de búsqueda.
Una cadena de consulta contiene las siguientes tres partes:
query_term operator values
Aquí:
query_term
es el término o campo de búsqueda que se va a buscar.operator
especifica la condición para el término de la búsqueda.values
son los valores específicos que deseas usar para filtrar los resultados de la búsqueda.
Para ver los términos y operadores de consulta que puedes usar en archivos y carpetas de filtro, consulta Buscar términos y operadores de consulta.
Por ejemplo, la siguiente cadena de consulta filtra la búsqueda para que solo muestre carpetas configurando el tipo MIME:
q: mimeType = 'application/vnd.google-apps.folder'
Para obtener más información sobre los tipos MIME, consulta Tipos de MIME compatibles con Google Workspace y Google Drive.
Ejemplos de cadenas de consulta
En la siguiente tabla, se incluyen ejemplos de algunas cadenas de consulta básicas. El código real difiere según la biblioteca cliente que uses para la búsqueda.
También debes escapar los caracteres especiales en los nombres de los archivos para asegurarte de que la
consulta funcione correctamente. Por ejemplo, si un nombre de archivo contiene un apóstrofo ('
) y una barra invertida ("\"
), usa una barra invertida para escaparlos: name
contains 'quinn\'s paper\\essay'
.
Qué quieres consultar | Ejemplo |
---|---|
Archivos con el nombre "hello" | name = 'hello' |
Archivos con un nombre que contenga las palabras "hello" y "goodbye" | name contains 'hello' and name contains 'goodbye' |
Archivos con un nombre que no contenga la palabra "hello" | not name contains 'hello' |
Archivos que contengan el texto "importante" y que estén en la papelera | fullText contains 'important' and trashed = true |
Archivos que contienen la palabra "hello" | fullText contains 'hello' |
Archivos que no contienen la palabra "hello" | not fullText contains 'hello' |
Archivos que contienen la frase exacta "hello world" | fullText contains '"hello world"' |
Archivos con una consulta que contiene el carácter “\"” (por ejemplo, “\authors”) | fullText contains '\\authors' |
Archivos que son carpetas | mimeType = 'application/vnd.google-apps.folder' |
Archivos que no son carpetas | mimeType != 'application/vnd.google-apps.folder' |
Archivos modificados después de una fecha determinada (la zona horaria predeterminada es UTC) | modifiedTime > '2012-06-04T12:00:00' |
Archivos de imagen o video modificados después de una fecha específica | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') |
Archivos destacados | starred = true |
Archivos dentro de una colección (por ejemplo, el ID de la carpeta en la colección parents ) |
'1234567' in parents |
Archivos en una carpeta de datos de aplicación en una colección | 'appDataFolder' in parents |
Archivos de los que el usuario “test@example.org” es el propietario | 'test@example.org' in owners |
Archivos para los que el usuario "test@example.org" tiene permiso de escritura | 'test@example.org' in writers |
Archivos para los que los miembros del grupo “grupo@example.org” tienen permiso de escritura | 'group@example.org' in writers |
Archivos compartidos con el usuario autorizado que tengan “hola” en el nombre | sharedWithMe and name contains 'hello' |
Archivos con una propiedad de archivo personalizada visible para todas las apps | properties has { key='mass' and value='1.3kg' } |
Archivos con una propiedad de archivo personalizada privada para la app solicitante | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
Archivos que no se compartieron con nadie o con dominios (solo privados o que no se hayan compartido con usuarios o grupos específicos) | visibility = 'limited' |
Cómo filtrar los resultados de la búsqueda con una biblioteca cliente
En la siguiente muestra de código, se muestra cómo usar una biblioteca cliente para filtrar los resultados de la búsqueda en nombres de archivos y IDs de archivos JPEG. En este ejemplo, se usa el término de consulta mimeType
para acotar los resultados a archivos de tipo image/jpeg
. También establece spaces
en drive
para limitar aún más la búsqueda al espacio de Drive. Cuando nextPageToken
muestra null
, significa que no hay más resultados.
Java
Python
Node.js
PHP
Cómo buscar archivos con una propiedad de archivo personalizada
Para buscar archivos con una propiedad de archivo personalizada, usa el término de búsqueda properties
o appProperties
con una clave y un valor. Por ejemplo, para buscar una propiedad de archivo personalizada que sea privada para la app solicitante llamada additionalID
con un valor de 8e8aceg2af2ge72e78
, haz lo siguiente:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
Para obtener más información, consulta Agrega propiedades de archivo personalizadas.
Busca archivos con un valor de campo o etiqueta específico
Para buscar archivos con etiquetas específicas, usa el término de búsqueda labels
con un ID de etiqueta específico. Por ejemplo: 'labels/LABEL_ID' in
labels
. Si se ejecuta de forma correcta, el cuerpo de la respuesta contendrá todas las instancias de archivo en las que se aplicó la etiqueta.
Para buscar archivos sin un ID de etiqueta específico, usa Not
'labels/LABEL_ID' in labels
.
También puedes buscar archivos en función de valores de campos específicos. Por ejemplo, para buscar archivos con un valor de texto: labels/LABEL_ID.text_field_id ='TEXT'
.
Para obtener más información, consulta Cómo buscar archivos con una etiqueta o un valor de campo específicos.
Cómo buscar en los corpus
Las búsquedas que llaman a files.list
usan el corpora
de user
de forma predeterminada. Para buscar
otros corpus, como archivos compartidos con un domain
, establece el parámetro
corpora
.
Se pueden buscar varios corpus en una sola consulta, aunque es posible que se muestren resultados incompletos si el corpus combinado es demasiado grande. Si incompleteSearch
es true
en el cuerpo de la respuesta, significa que no se mostraron todos los documentos. Si esto ocurre, debes acotar tu consulta eligiendo un corpus diferente, como user
o drive
.
Temas relacionados
- Cómo buscar unidades compartidas
- Términos y operadores de búsqueda
- Tipos de MIME compatibles con Google Workspace y Google Drive
- Funciones y permisos
- Cómo buscar archivos con una etiqueta o un valor de campo específicos