Administrar archivos y carpetas, incluidas las propiedades personalizadas y las revisiones
El servicio avanzado de Drive te permite usar la API de Google Drive en Google Apps Script. Al igual que el servicio integrado de Drive de Apps Script, esta API permite que las secuencias de comandos creen, encuentren y modifiquen archivos y carpetas en Google Drive. En la mayoría de los casos, el servicio integrado es más fácil de usar, pero este servicio avanzado proporciona algunas funciones adicionales, como acceso a las propiedades de archivos personalizadas y a las revisiones de archivos y carpetas.
Este es un servicio avanzado que se debe habilitar antes de usarlo.
Referencia
Para obtener información detallada sobre este servicio, consulta la documentación de referencia de la API de Drive. Al igual que todos los servicios avanzados de Apps Script, el servicio avanzado de Drive usa los mismos objetos, métodos y parámetros que la API pública. Para obtener más información, consulta Cómo se determinan las firmas de métodos.
Además, los métodos llamados delete en la API de Drive se llaman remove en el servicio avanzado (como Drive.Permissions.remove()), ya que delete es una palabra reservada en JavaScript.
Para informar problemas y encontrar más asistencia, consulta la guía de asistencia de la API de Drive.
Código de muestra
Los ejemplos de código de esta sección usan la versión 3 de la API.
Subir archivos
En el siguiente ejemplo de código, se muestra cómo guardar un archivo en el Drive de un usuario.
Crear una carpeta
En el siguiente ejemplo de código, se muestra cómo crear una carpeta en Drive.
/**
* Creates a new folder.
*/
function createFolder() {
var folderMetadata = {
'name': 'New Folder',
'mimeType': 'application/vnd.google-apps.folder'
};
var folder = Drive.Files.create(folderMetadata);
Logger.log('Folder ID: ' + folder.id);
}
Buscar archivos
En la siguiente muestra de código, se muestra cómo buscar archivos con una cadena de búsqueda.
/**
* Searches for files with a specific name.
*/
function searchFiles() {
var query = 'name contains "Project Plan" and trashed = false';
var files = Drive.Files.list({
'q': query,
'fields': 'files(id, name, mimeType)'
});
if (files.files && files.files.length > 0) {
for (var i = 0; i < files.files.length; i++) {
var file = files.files[i];
Logger.log('%s (ID: %s)', file.name, file.id);
}
} else {
Logger.log('No files found.');
}
}
Mostrar lista de carpetas
En la siguiente muestra de código, se muestra cómo enumerar las carpetas de nivel superior en el Drive del usuario. Ten en cuenta el uso de tokens de página para acceder a la lista completa de resultados.
Enumera las revisiones
En el siguiente ejemplo de código, se muestra cómo enumerar las revisiones de un archivo determinado. Ten en cuenta que algunos archivos pueden tener varias revisiones y debes usar tokens de página para acceder a la lista completa de resultados.
Cómo agregar propiedades de archivos
En la siguiente muestra de código, se usa el campo appProperties para agregar una propiedad personalizada a un archivo. La propiedad personalizada solo es visible para la secuencia de comandos. Para agregar una propiedad personalizada al archivo que también sea visible para otras apps, usa el campo properties. Para obtener más información, consulta Cómo agregar propiedades de archivo personalizadas.
Cómo agregar un usuario a un archivo
En el siguiente ejemplo de código, se muestra cómo agregar un usuario como editor a un archivo y suprimir la notificación por correo electrónico.
/**
* Adds a user to a file as an editor without sending an email notification.
*/
function addEditor() {
var fileId = '1234567890abcdefghijklmnopqrstuvwxyz';
var userEmail = 'bob@example.com';
var request = {
'role': 'writer',
'type': 'user',
'emailAddress': userEmail
};
Drive.Permissions.create(request, fileId, {
'sendNotificationEmail': false
});
}