La API v2 de Dropbox para Python 3>: Para qué sirve y cómo utilizarla paso a paso

18La API v2 de Dropbox de Python nos permite gestionar y controlar contenido de Dropbox. En esta guía voy a mostrar como crear las conexiones, listar contenido de directorios, así como descargar y cargar ficheros.

Qué necesitamos

Antes de comenzar tenemos que disponer de:

  • Una cuenta de Dropbox.
  • Tener Python instalado en su versión 3>.
  • Instalar la Biblioteca o SDK de Dropbox.
  • Un editor de código a tu elección y conexión a Shell o línea de comandos.

Instalar Dropbox SDK para Python

Para ello vamos a utilizar la herramienta pip, que nos permite descargar e instalar el SDK.

Una vez instalado, ya podemos comenzar a utilizarlo en nuestras aplicaciones o scripts.

Crear nuestra App desde la consola de Dropbox

Para comenzar a utilizar la API de Dropbox necesitamos registrar nuestra aplicación a través de la App Console de Dropbox.

  • Hacemos clic en create app y seleccionamos la API que vamos a utilizar (solo hay una).
  • Seleccionamos el tipo de acceso que necesita nuestra App. Si seleccionamos App folder podemos indicar una carpeta específica dentro de nuestra carpeta Aplicaciones de Dropbox. En caso de que indiquemos Full Dropbox, accederemos a todo el contenido de Dropbox (no lo recomendaría).
  • El siguiente paso es elegir un nombre para nuestra aplicación, que también será usado como carpeta dentro del directorio de Aplicaciones/ en el caso de haber seleccionado App folder en el paso anterior.
  • Por último recuerda que debes indicar los permisos de lectura y escritura que necesites para tu aplicación.

Autenticación y Token de acceso

Dropbox usa el protocolo de autenticación OAuth v2.0, que autoriza los accesos a datos de usuario. El Token de acceso generado por OAuth nos permite hacer uso de API.

Por lo que una vez hemos creada nuestra App, podemos generarlo cuando deseemos indicando si este va a ser temporal o permanente.

Una vez nos hemos autenticado, ya podemos comenzar a interactuar con nuestra cuenta de Dropbox para listar, cargar, descargar contenido, etc … Si necesitas más información sobre el método de autenticación Oauth para Dropbox haz clic aquí.

Listando ficheros y directorios

El método files_list_folder() retorna el contenido de una carpeta seleccionada. Estos son los parámetros más comunes, siendo path obligatorio:
  • path (str) la rutadon donde queremos listar el contenido.
  • recursive (bool) si indicamos true listaremos el contenido de subcarpetas también.
  • limit (int) la cantidad de resultados que queremos mostrar.

Vemos que esto nos devuelve un objeto llamado <class ‘dropbox.files.FileMetadata‘>.

Entre toda la información retornada por el objeto podemos destacar:
  • content_hash (str), el algoritmo que contiene toda la información de los metadatos.
  • is_downloadable (bool), si indica True es que el contenido se puede descargar.
  • name, es el nombre asignado al fichero o carpeta.
  • path_display, la ruta completa del fichero en Dropbox.
  • server_modified, es la fecha en la que se modificó el fichero por última vez.
  • rev (str), versión actual del fichero.
Para obtener información más legible vamos a iterar sobre el objeto de la siguiente forma.

Obteniendo Metadatos

El método files_get_metadata() nos permite consultar información detallada del fichero o directorio, donde el único atributo obligatorio es path (str), que corresponde a la ruta donde se ubica el fichero en dropbox.

Para más información sobre files_get_metadata() puedes acceder a la documentación oficial.

Carga de ficheros a Dropbox

Para cargar ficheros vamos a utilizar el método files_upload(). Según la documentación oficial no debemos usarlo en ficheros de más de 150MB, ya que para ello existe otro método llamado files_upload_session_start(). Los parámetros más importantes son:

  • f, el contenido que deseamos cargar.
  • path (str), la ruta donde se salvará el fichero en Dropbox.
  • mute (bool), si indicamos False evitamos notificaciones al usuario de modificaciones realizadas.
  • mode, nos permite indicar que hacer en el caso de que el fichero ya exista y este haya sido modificado.
  • autorename (bool), si necesitamos evitar conflictos de ficheros repetidos, estos podrán ser auto renombrados.

En el ejemplo lo que hacemos es subir la carpeta data/ al directorio test/ de Dropbox. En caso de no existir el directorio test/ se creará automáticamente en nuestra carpeta de Dropbox.

Descarga de ficheros

El método que nos permite descargar un fichero de Dropbox es files_download_to_file(). Los parámetros que podemos utilizar son los siguientes:
  • download_path (str), la ruta local donde deseamos descargar el fichero.
  • path (str), la ruta del fichero que deseamos descargar, en Dropbox.
  • rev (str), es la revisión del fichero que necesitamos. Null si sólo queremos su última revisión.
Recuerda que para poder realizar descargas necesitas permisos en la APP de Dropbox (files.content.read)

Bibliografía

Gracias por leerlo y no olvides compartir.

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.