{"id":375,"date":"2023-10-22T11:17:16","date_gmt":"2023-10-22T09:17:16","guid":{"rendered":"https:\/\/www.pythonparatodo.com\/?p=375"},"modified":"2023-12-06T11:41:16","modified_gmt":"2023-12-06T10:41:16","slug":"descarga-de-archivos-de-un-sitio-sharepoint","status":"publish","type":"post","link":"https:\/\/www.pythonparatodo.com\/?p=375","title":{"rendered":"Descarga de archivos de un sitio SharePoint 3\/3"},"content":{"rendered":"\n<p>Siguiendo con SharePoint podr\u00eda sernos de utilidad la descarga de archivos que vimos en el art\u00edculo anterior: <a href=\"https:\/\/www.pythonparatodo.com\/?p=371\" data-type=\"link\" data-id=\"https:\/\/www.pythonparatodo.com\/?p=371\">Listado de archivos de un sitio SharePoint<\/a>.<\/p>\n\n\n\n<p>Disponiendo de la funci\u00f3n de <a href=\"https:\/\/www.pythonparatodo.com\/?p=364\">autenticacion<\/a> y de la forma de <a href=\"https:\/\/www.pythonparatodo.com\/?p=371\">listar los archivos<\/a> ya tenemos la forma de crear listas de archivos para luego procesar, aunque en el ejemplo solo descargaremos un archivo concreto, llam\u00e9mosle <strong>miArchivo.docx<\/strong> y supongamos que est\u00e1 en el sitio <strong>\/sites\/MiSitio\/MISCOSAS<\/strong>.<\/p>\n\n\n\n<p>Para poder descargar el contenido de este archivo necesitaremos hacer uso de File as\u00ed que tendremos que incluirlo en nuestro script Python con la siguiente l\u00ednea: <code>from office365.sharepoint.files.file import File<\/code>. As\u00ed que recuperemos lo escrito en los otros art\u00edculos e importemos File.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">from office365.runtime.auth.authentication_context import AuthenticationContext\nfrom office365.sharepoint.client_context import ClientContext\nfrom office365.sharepoint.files.file import File\n\nURL = 'https:\/\/misubdominio.sharepoint.com\/sites\/MiSitio'\nUSUARIO = 'miemail@misubdominio.onmicrosoft.com'\nPASSWORD = 'yT=83.33'\n\ndef autenticacion():\n    ctx_auth = AuthenticationContext(URL)\n    ctx_auth.acquire_token_for_user(USUARIO, PASSWORD)   \n    ctx = ClientContext(URL, ctx_auth)\n    return ctx\n\nmisitio = autenticacion()\ndatos = File.open_binary(misitio, '\/sites\/MiSitio\/MISCOSAS\/miArchivo.Docx')\n\nwith open('miArchivo.Docx', 'wb') as archivo_local:\n    archivo_local.write(datos.content)<\/code><\/pre>\n\n\n\n<p>Y ya est\u00e1, usando <code>open_binary<\/code> podremos obtener el contenido binario de nuestro archivo, <code>datos.content<\/code>, el cual podremos guardar en la ruta indicada con open y las opciones w de write y b de binara.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Siguiendo con SharePoint podr\u00eda sernos de utilidad la descarga de archivos que vimos en el art\u00edculo anterior: Listado de archivos &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48,33,136,4,131,132],"tags":[34,2,134,138,133],"class_list":["post-375","post","type-post","status-publish","format-standard","hentry","category-colecciones-de-datos","category-ficheros","category-microsoft","category-python","category-rest","category-web","tag-ficheros","tag-python","tag-rest","tag-sharepoint","tag-web"],"_links":{"self":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=375"}],"version-history":[{"count":3,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/375\/revisions"}],"predecessor-version":[{"id":384,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/375\/revisions\/384"}],"wp:attachment":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}