En esta guía, se explica cómo la API de Google Drive admite varias formas de buscar archivos y carpetas.
Puedes usar el list método en el
files recurso para mostrar todos o algunos de los archivos y carpetas de un usuario de
Drive. El método list también se puede
usar para recuperar el fileId que se requiere para algunos métodos de recursos (como el
get método y el update) método.
Usa el parámetro fields
Si deseas especificar los campos que se mostrarán en la respuesta, puedes configurar el
fields parámetro
del sistema
con cualquier método del recurso files. Si omites el parámetro fields, el servidor muestra un conjunto predeterminado de campos específicos del método. Por ejemplo, el
list método muestra solo los campos kind, id,
name, mimeType y resourceKey para cada archivo. Para mostrar diferentes
campos, consulta Cómo mostrar campos específicos.
Obtén un archivo
Para obtener un archivo, usa el get método en el
files recurso con el fileId parámetro de ruta de acceso.
Si no conoces el ID del archivo, puedes enumerar todos los archivos con el list
método.
El método muestra el archivo como una instancia de un recurso files. Si proporcionas el parámetro de consulta alt=media, la respuesta incluirá el contenido del archivo en el cuerpo de la respuesta. Para descargar o exportar el archivo, consulta Cómo descargar y exportar
archivos.
Para reconocer el riesgo de descargar software malicioso conocido o cualquier otro
abusivo archivo, establece el
acknowledgeAbuse parámetro de consulta en true. Este campo solo se aplica cuando se establece el parámetro alt=media y el usuario es el propietario del archivo o un organizador de la unidad compartida en la que reside el archivo.
Busca todos los archivos y carpetas en Mi unidad del usuario actual
Usa el método list sin parámetros para mostrar todos los archivos y carpetas.
GET https://www.googleapis.com/drive/v3/files
Busca archivos o carpetas específicos en Mi unidad del usuario actual
Para buscar un conjunto específico de archivos o carpetas, usa el campo de cadena de consulta q field
con el list method para filtrar los archivos que se
mostrarán combinando uno o más términos de búsqueda.
La sintaxis de la cadena de consulta contiene las siguientes tres partes:
query_term operator values
Donde:
query_termes el término o campo de consulta en el que se realizará la búsqueda.operatorespecifica la condición del término de consulta.valuesson los valores específicos que deseas usar para filtrar los resultados de la búsqueda.
Por ejemplo, la siguiente cadena de consulta filtra la búsqueda para mostrar solo las carpetas configurando el tipo MIME:
q: mimeType = 'application/vnd.google-apps.folder'
Para ver todos los términos de consulta de archivos, consulta Términos de consulta específicos de archivos.
Para ver todos los operadores de consulta que puedes usar para crear una consulta, consulta Operadores deconsulta.
Ejemplos de cadenas de consulta
En la siguiente tabla, se enumeran 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óstrofe
(') y un carácter de barra inversa ("\"), usa una barra inversa para escaparlos: name
contains 'quinn\'s paper\\essay'.
| Lo que deseas consultar | Ejemplo |
|---|---|
| Archivos con el nombre "hello" | name = 'hello' |
| Archivos con un nombre que contiene las palabras "hello" y "goodbye" | name contains 'hello' and name contains 'goodbye' |
| Archivos con un nombre que no contiene la palabra "hello" | not name contains 'hello' |
| Archivos que contienen el texto "important" y están en la papelera | fullText contains 'important' and trashed = true |
| Archivos que contienen la palabra "hello" | fullText contains 'hello' |
| Archivos que no tienen 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 carpeta en la colección parents) |
'1234567' in parents |
| Archivos en una carpeta de datos de la aplicación en una colección | 'appDataFolder' in parents |
| Archivos para 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 "group@example.org" tienen permiso de escritura | 'group@example.org' in writers |
| Archivos compartidos con el usuario autorizado con "hello" 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 que realiza la solicitud | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
| Archivos que no se compartieron con nadie ni con dominios (solo privados o compartidos con usuarios o grupos específicos) | visibility = 'limited' |
Filtra los resultados de la búsqueda con una biblioteca cliente
En el siguiente ejemplo de código, se muestra cómo usar una biblioteca cliente para filtrar los resultados de la búsqueda a los nombres de archivo y los IDs de los archivos JPEG. En este ejemplo, se usa el término de consulta mimeType para limitar los resultados a los archivos de tipo image/jpeg. También se establece
spaces en drive para limitar aún más la búsqueda al espacio de Drive
. Cuando nextPageToken muestra null, no hay más resultados.
Java
Python
Node.js
PHP
Busca archivos con una propiedad de archivo personalizada
Para buscar archivos con una propiedad de archivo personalizada, usa el término de consulta properties o appProperties con una clave y un valor. Por ejemplo, para buscar una propiedad de archivo personalizada que sea privada para la app que realiza la solicitud llamada additionalID con un valor de 8e8aceg2af2ge72e78:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
Para obtener más información, consulta Agrega propiedades de archivo personalizadas.
Busca archivos con una etiqueta o un valor de campo específicos
Para buscar archivos con etiquetas específicas, usa el término de consulta 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 contiene todas las instancias de archivo en las que se aplica la etiqueta.
Para buscar archivos sin un ID de etiqueta específico: Not
'labels/LABEL_ID' in labels.
También puedes buscar archivos según valores de campo 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 Busca archivos con una etiqueta o un valor de campo específicos.
Busca en los corpus
De forma predeterminada, la colección de elementos user se establece en el parámetro de consulta corpora
cuando se usa el método list. Para buscar otras colecciones de elementos, como las que se comparten con un domain, debes establecer el parámetro corpora de forma explícita.
Puedes buscar varios corpus en una sola consulta. Sin embargo, si el corpus combinado es demasiado grande, la API podría mostrar resultados incompletos. Consulta el
incompleteSearch
campo en el cuerpo de la respuesta. Si es true, se omitieron algunos documentos. Para resolver este problema, limita el corpora para usar user o drive.
Cuando uses el
orderBy parámetro
de consulta en el método list, evita usar la clave createdTime para las consultas en
colecciones de elementos grandes, ya que requiere procesamiento adicional y puede provocar
tiempos de espera agotados o cualquier otro problema. Para la clasificación relacionada con el tiempo en colecciones de elementos grandes, puedes usar modifiedTime en su lugar, ya que está optimizado para controlar estas consultas.
Por ejemplo, ?orderBy=modifiedTime.
Si omites el parámetro de consulta orderBy, no hay un orden de clasificación predeterminado y los elementos se muestran de forma arbitraria.
Temas relacionados
- Busca unidades compartidas
- Términos y operadores de consulta
- Tipos de MIME compatibles con Google Workspace y Google Drive
- Funciones y permisos
- Busca archivos con una etiqueta o un valor de campo específicos