Descarga de archivos de un sitio SharePoint 3/3

Siguiendo con SharePoint podría sernos de utilidad la descarga de archivos que vimos en el artículo anterior: Listado de archivos de un sitio SharePoint.

Disponiendo de la función de autenticacion y de la forma de listar los archivos ya tenemos la forma de crear listas de archivos para luego procesar, aunque en el ejemplo solo descargaremos un archivo concreto, llamémosle miArchivo.docx y supongamos que está en el sitio /sites/MiSitio/MISCOSAS.

Para poder descargar el contenido de este archivo necesitaremos hacer uso de File así que tendremos que incluirlo en nuestro script Python con la siguiente línea: from office365.sharepoint.files.file import File. Así que recuperemos lo escrito en los otros artículos e importemos File.

from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.sharepoint.client_context import ClientContext
from office365.sharepoint.files.file import File

URL = 'https://misubdominio.sharepoint.com/sites/MiSitio'
USUARIO = 'miemail@misubdominio.onmicrosoft.com'
PASSWORD = 'yT=83.33'

def autenticacion():
    ctx_auth = AuthenticationContext(URL)
    ctx_auth.acquire_token_for_user(USUARIO, PASSWORD)   
    ctx = ClientContext(URL, ctx_auth)
    return ctx

misitio = autenticacion()
datos = File.open_binary(misitio, '/sites/MiSitio/MISCOSAS/miArchivo.Docx')

with open('miArchivo.Docx', 'wb') as archivo_local:
    archivo_local.write(datos.content)

Y ya está, usando open_binary podremos obtener el contenido binario de nuestro archivo, datos.content, el cual podremos guardar en la ruta indicada con open y las opciones w de write y b de binara.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *