Microsoft 365 - OneDrive¶
Interactúa y realiza diversas operaciones a través de una cuenta de Microsoft 365. Descarga, carga y administra archivos fácilmente mediante el complemento de BotCity para OneDrive.
Warning
Para poder utilizar este complemento, necesitas tener una cuenta de Microsoft 365 con un proyecto creado y configurado correctamente.
Después de crear un proyecto, debes completar el proceso de autenticación a través del complemento de Credenciales de Microsoft 365.
Para más detalles, consulta las secciones anteriores:
Instalación¶
Importando el Complemento¶
Después de instalar este paquete, el siguiente paso es importar el paquete en tu código y comenzar a utilizar las funciones.
Configurando la cuenta de servicio¶
Como se mencionó anteriormente, para utilizar el complemento de OneDrive, es necesario realizar el proceso de autenticación de la cuenta a través del complemento de Credenciales de Microsoft 365.
Con la instancia del complemento de credenciales obtenida, vamos a utilizarla para instanciar el complemento de OneDrive.
from botcity.plugins.ms365.credentials import MS365CredentialsPlugin, Scopes
from botcity.plugins.ms365.onedrive import MS365OneDrivePlugin
# Instantiate the Credentials plugin
service = MS365CredentialsPlugin(
client_id='<APPLICATION ID>',
client_secret='<SECRET VALUE>',
)
service.authenticate(scopes=[Scopes.BASIC, Scopes.FILES_READ_WRITE_ALL])
# Instantiate the OneDrive plugin
onedrive = MS365OneDrivePlugin(service_account=service)
Tip
Para utilizar el servicio de OneDrive, solo debes agregar el ámbito Scopes.FILES_READ_WRITE_ALL
que se refiere al permiso Files.ReadWrite.All
del proyecto.
Consulta más detalles sobre ámbitos y permisos en este enlace.
Obteniendo algunos archivos¶
Puedes obtener una lista de archivos almacenados en la unidad. Es posible obtener los archivos desde la carpeta raíz o desde una carpeta principal específica.
Con los archivos devueltos, puedes realizar operaciones como descargar y acceder a propiedades específicas.
Utilizando una carpeta específica como referencia, vamos a pasar la ruta de la carpeta en la unidad como parámetro.
Tip
La ruta debe seguir el patrón: /ruta/a/carpeta_principal.
El primer /
significa que estamos comenzando desde la carpeta raíz y el resto de la ruta será la "ruta absoluta" del elemento en la unidad.
Buscando archivos específicos¶
Además de obtener varios archivos, también es posible filtrar para devolver solo un archivo específico.
En este caso, podemos buscar un elemento en la unidad por su nombre o utilizando su ruta absoluta.
onedrive = MS365OneDrivePlugin(service_account=service)
# Returning the first file that matches this name
file = onedrive.get_file_by_name(file_name="credentials.txt")
print(file)
# Getting file by path. Using path in pattern: '/path/to/file'
file_by_path = onedrive.get_file_by_path("/myFolder/subFolder/document.pdf")
print(file_by_path)
Cargando archivos¶
Podemos cargar fácilmente un nuevo archivo en OneDrive pasando la ruta local y la ruta donde se almacenará el archivo.
Si no se pasa una ruta específica, el archivo se guardará en la carpeta raíz de la unidad.
Descargando archivos¶
Además de descargar archivos directamente a través de los objetos devueltos por los métodos get_files()
, también podemos descargar un archivo directamente pasando su ruta en la unidad.
Eliminando archivos¶
Como en los ejemplos anteriores, utilizando la ruta del archivo en la unidad podemos eliminar un archivo específico.
Creando una nueva carpeta¶
Podemos crear fácilmente una nueva carpeta en la unidad. La carpeta se puede crear en la carpeta raíz de la unidad o en una ruta específica.
Administrando archivos a través de Sharepoint¶
Podemos realizar las mismas operaciones con archivos y carpetas utilizando la unidad de un sitio de Sharepoint como referencia.
Consulta más detalles sobre la configuración requerida en la documentación del complemento de Sharepoint.