Subir archivos a Dropbox desde Python a través de la API

Los servicios de almacenamiento en la nube permiten guardar y recuperar archivos desde casi cualquier dispositivo que disponga de una conexión a internet. Lo que convierte a estos servicios en un repositorio perfecto para almacenar diferentes archivos. Ya que mientras se disponga de una conexión a la red se podrá acceder a los datos. Una de sus posibles aplicaciones puede ser el guardado de los resultados de los programas escritos en Python. Por ejemplo, al terminar una simulación se pueden guardar los resultados para usarlos en otra maquina. Entre todos los servicios de almacenamiento uno de los más populares es Dropbox. Para subir archivos a Dropbox desde Python se pueden utilizar dos enfoques: instalar la aplicación en nuestro sistema operativo o utilizar la API. La primera opción es útil cuando trabajamos con nuestro ordenador. Pero esta opción presenta problemas cuando los códigos se ejecutan en un servidor o en una maquina con poco espacio. En esta entrada vamos a ver como subir archivos a Dropbox desde Python mediante la API de esta plataforma.

Crear aplicación para la API de Dropbox

La API de Dropbox permite la integración de aplicaciones escritas por cualquiera con el servicio. Permitiendo a los programadores subir, descargar y modificar los archivos que un usuario tenga en la nube. Para poder utilizarla, en primer lugar, es necesario disponer de una cuenta de Dropbox y acceder al formulario de creación de aplicaciones para darla de alta. (https://www.dropbox.com/developers/apps/create). En el formulario es necesario indicar la API, el tipo de acceso que tendrá a la cuenta y el nombre de la aplicación, como se muestra en la siguiente captura de pantalla.

Formulario para la creación de aplicaciones
Formulario para la creación de aplicaciones

En el ejemplo se ha seleccionado la API de Dropbox, el acceso se ha configurado únicamente para la carpeta de aplicaciones y el nombre de la aplicación es sabe_python. Una vez hecho todo esto se ha de pulsar sobre el botón Create app. En caso de que todo sea correcto se creara la aplicación y apareciendo la siguiente ventana de opciones.

Configuración de las aplicaciones de la API
Configuración de las aplicaciones de la API

Obtención del token de acceso

Para poder subir archivos a Dropbox desde Python utilizando el API es necesario obtener el token de la aplicación. Para ello en la ventan de opciones anterior es necesario ir a la zona de OAuth 2 y pulsar en el botón Generate situado debajo de Generated Access token. En este punto aparecerá el token de la aplicación que se utilizará a continuación.

Instalación del paquete Dropbox para Python

El método más fácil para subir de archivos a Dropbox desde Python es utilizar el paquete oficial. Un paquete que se puede instalar mediante el comando pip. Así para su instalación solamente es necesario escribir en la terminal:

pip install Dropbox

Procedimiento para subir archivos a Dropbox desde Python

Una vez instalado el paquete oficial de Dropbox para subir a un archivo solamente es necesario importar este. Ahora con el token que se ha obtenido anteriormente se ha crear una conexión a la aplicación, para lo que se utiliza el método Dropbox. Esta conexión dispone de un método para subir archivos files_upload. A la que se le ha de indicar el archivo y la ruta del archivo en el destino. Por ejemplo, para subir una imagen se pude utilizar el siguiente código.

import dropbox

file_from = 'analytics_lane.jpg'
file_to = '/analytics_lane/analytics_lane.jpg'

dbx = dropbox.Dropbox('access_token')
dbx.files_upload(open(file_from, 'rb').read(), file_to)

Al ejecutar este código se puede ir a la carpeta de Dropbox para comprobar que el archivo se ha subido correctamente.

Archivo subido a Dropbox

Conclusiones

Hoy se ha visto cómo subir archivos a Dropbox desde Python utilizando la API de programación. Esta función puede ser útil para guardar los resultados de procesos largos en la nube o para datos adquiridos en dispositivos con poca memoria. Las posibilidades que ofrece esta API son infinitos ya que ofrece el acceso a almacenamiento remoto sin necesidad de instalar programas.

Imágenes: Pixabay (Edward Lich)

Sin votos
Por favor espera...

Contenido relacionado

Deja un comentario

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