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.