En esta guía, se explica cómo crear y administrar archivos en Google Drive con la API de Google Drive.
Crear archivo
Para crear un archivo en Drive que no contenga metadatos ni contenido,
usa el create método en el recurso files sin parámetros.
Cuando creas el archivo, el método muestra un recurso files. El archivo recibe un kind de drive.file, un id, un name de "Sin título" y un mimeType de application/octet-stream. El
uploadType
se marca como obligatorio, pero el valor predeterminado es media, por lo que no es necesario que lo
proporciones.
Para obtener más información sobre los límites de archivos de Drive, consulta Límites de archivos y carpetas.
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 solo muestra los campos kind, id,
name, mimeType, y resourceKey para cada archivo. Para mostrar diferentes
campos, consulta Muestra campos específicos.
Propiedad de archivos
Cuando se crea un archivo con la API de Drive, la propiedad depende de las credenciales de autenticación que usa la app de las siguientes maneras:
Cuenta de usuario (OAuth 2.0): Si la aplicación se autentica en nombre de un usuario, ese usuario se convierte en el propietario del archivo. Luego, el archivo reside en su carpeta Mi unidad o en una carpeta especificada. Consume su cuota de almacenamiento.
Cuenta de servicio: Si la aplicación se autentica con una cuenta de servicio, la cuenta de servicio es el propietario del archivo. Luego, el archivo reside en el almacenamiento de Drive dedicado de la cuenta de servicio. Los archivos no aparecen en otras cuentas de almacenamiento de Drive, a menos que se compartan de forma explícita. Si se borra la cuenta de servicio, todos los archivos que posee se borran de inmediato.
Si usas una cuenta de servicio, pero quieres que una cuenta de usuario específica sea propietaria de un archivo, usa la delegación en todo el dominio. Esto permite que la cuenta de servicio suplante a un usuario y cree archivos en su nombre. Para obtener más información, consulta Delega autoridad en todo el dominio a la cuenta de servicio.
Para obtener más información sobre los permisos de archivos, consulta Cómo compartir archivos, carpetas y unidades.
Genera IDs para usar con tus archivos
El método generateIds en el recurso
files te permite generar previamente IDs de archivo
únicos que se pueden usar cuando creas o copias archivos y carpetas en
Drive. Esto puede ser útil cuando necesitas controlar los IDs de archivos desde tu app, en lugar de permitir que Drive los asigne automáticamente.
Puedes configurar la cantidad de IDs generados con el
count parámetro de consulta.
Si no se configura count, se muestran 10 de forma predeterminada. La cantidad máxima de IDs que puedes solicitar es de 1,000.
También puedes designar el
space en el que se pueden usar los IDs
y el
type de elementos para los que se pueden usar los
IDs.
Una vez que se genera un ID, se puede pasar al método create o copy a través del campo id. Esto garantiza que el archivo creado o copiado use el ID predeterminado.
Si el archivo se crea o se copia correctamente, los reintentos posteriores muestran una respuesta de código de estado HTTP 409
Conflict y no se crean archivos duplicados.
Ten en cuenta que no se admiten IDs generados previamente para la creación de
archivos de Google Workspace, excepto para los application/vnd.google-apps.drive-sdk
y application/vnd.google-apps.folder tipos
de MIME. Del mismo modo, no se admiten las cargas que hacen referencia a una conversión a un formato de archivo de Google Workspace.
Crea archivos solo de metadatos
Los archivos solo de metadatos no contienen contenido. Los metadatos son datos (como name, mimeType y createdTime) que describen el archivo. Los campos como name son independientes del usuario y aparecen de la misma manera para cada usuario, mientras que los campos como viewedByMeTime contienen valores específicos del usuario.
Un ejemplo de un archivo solo de metadatos es una carpeta con el tipo de MIME application/vnd.google-apps.folder. Para obtener más información, consulta Crea y
completa carpetas. Otro ejemplo es un acceso directo que apunta a otro archivo en Drive con el tipo de MIME application/vnd.google-apps.shortcut. Para obtener más información, consulta Crea un
acceso directo a un archivo de Drive.
Administra imágenes en miniatura
Las miniaturas ayudan a los usuarios a identificar archivos de Drive. Drive puede generar automáticamente miniaturas para tipos de archivos comunes o puedes proporcionar una imagen en miniatura generada por tu app. Para obtener más información, consulta Sube miniaturas.
Copia un archivo existente
Para copiar un archivo y aplicar las actualizaciones solicitadas, usa el copy método en el files recurso. Para encontrar el
fileId que se copiará, usa el list método.
Puedes aplicar actualizaciones a través de la semántica de parches, lo que significa que puedes realizar modificaciones parciales en un recurso. Debes configurar de forma explícita los campos que deseas modificar en tu solicitud. Los campos que no se incluyan en la solicitud conservarán sus valores existentes. Para obtener más información, consulta Cómo trabajar con recursos parciales.
Puedes configurar previamente el ID de archivo del archivo copiado con el generateIds método. Para obtener más información, consulta
Genera IDs para usar con tus archivos.
Ten en cuenta que debes usar un alcance adecuado de la Drive API scope para autorizar la llamada. Para obtener más información sobre los alcances de Drive, consulta Elige alcances de la API de Google Drive.
Límites y consideraciones
Mientras te preparas para copiar archivos, ten en cuenta estos límites y consideraciones:
Permisos:
- El
DownloadRestrictionsMetadataobjeto del recursofilesdetermina quién puede copiar el archivo. Para obtener más información, consulta Impide que los usuarios descarguen, impriman o copien tu archivo. - El recurso de campo
capabilities.canCopydetermina si el usuario puede copiar un archivo. Para obtener más información, consulta Información sobre las capacidades de los archivos. - El usuario que creó la copia es el propietario del archivo copiado. No se replican otros parámetros de configuración de uso compartido del archivo de origen. Si la copia se crea en una carpeta compartida, hereda los permisos de esa carpeta.
- Es posible que cambie la propiedad de un archivo copiado y que la copia no herede la configuración de uso compartido del archivo original. Es posible que debas restablecer esta configuración.
- El
Administración de archivos:
- Algunos archivos, como los accesos directos de terceros, nunca se pueden copiar.
- Solo puedes copiar un archivo en una carpeta superior. No se admite la especificación de varios superiores. Si no se especifica el campo
parents, el archivo hereda cualquier superior detectable del archivo de origen. - Aunque una carpeta es un tipo de archivo, no puedes copiarla.
En su lugar, crea una carpeta de destino y configura el campo
parentsde los archivos existentes en la carpeta de destino. Luego, puedes borrar la carpeta de origen original. - A menos que se especifique un nombre de archivo nuevo, el método
copyproduce un archivo con el mismo nombre que el original. - El uso excesivo de
copypuede provocar que se superen los límites de cuota de la API de Drive. Para obtener más información, consulta Límites de uso.
Temas relacionados
Estos son algunos pasos siguientes que puedes probar:
Para subir datos de archivos cuando creas o actualizas un archivo, consulta Sube datos de archivos.
Para crear un archivo en una carpeta específica, consulta Crea un archivo en una carpeta.
Para mover archivos, consulta Mueve archivos entre carpetas.
Para trabajar con metadatos de archivos, consulta Administra metadatos de archivos.
Para borrar un archivo, consulta Mueve archivos y carpetas a la papelera o bórralos.