[Dropbox Portable SDK .NET] Sincronización (y XII)

En esta última entrega vamos a ver como recuperar información para llevar a cabo una sincronización manual. No vamos a explicar el proceso en detalle, pero básicamente el proceso consiste en:

1. Hacer una petición POST a la url https://api.dropbox.com/1/delta incluyendo el token de acceso en la cabecera HTTP Autorization.

2. Si la petición es procesada correctamente, se retornará una cadena en formato JSON la cual es deserializada a una instancia del tipo “InfoDelta

    public class InfoDelta
    {
        public bool reset { get; set; }
        public string cursor { get; set; }
        public bool has_more { get; set; }
        public object[][] entries { get; set; }
    }

3. El campo “entries” contiene un array donde cada elemento contiene metadatos asociados a ficheros y carpetas de DropBox. Inicialmente, se retornarán todos los ficheros y carpetas que tenemos en nuestra cuenta DropBox

4.  Si el campo “has_more” es “true”, hay que volver a hacer la misma petición para recuperar el resto de metadatos. Este proceso hay que repetirlo hasta que “has_more=false”.

5. Una vez que tenemos todas las entradas, debemos realizar las siguientes comprobaciones:

– Si el fichero no existe en local, entonces debemos descargarlo

– Si el fichero existe, debemos comprobar el identificador de la versión. Si el id local coincide con el de dropbox, entoces el fichero no ha cambiado. Si el id de versión es nuevo, entonces debemos actualizarlo.

– Si hay un fichero local que no esta en los metadatos retornados por delta, entonces debemos subirlo a DropBox

NOTA: En el siguiente enlace podéis encontrar mas detalles sobre la sincronización.

6. Una vez que terminemos de revisar todos los metadatos retornados por la petición /delta, debemos guardar el valor “cursor“.

7. En la siguiente comprobación de sincronización, tenemos que volver a hacer una petición /delta, incluyendo el parámetro “cursor” con el valor recuperado de la petición anterior. Esto hará que dropbox nos retorne solo los cambios registrados desde la última petición /delta. Nota: En caso de no incluir el parámetro “cursor“, se volverán a retornar todos los ficheros y carpetas.

Continue reading…

[Dropbox Portable SDK .NET] Compartir Archivos (IX)

La plataforma DropBox permite compartir archivos con otros usuarios mediante un enlace, de forma que solo se tenga acceso al archivo compartido. Concretamente, se pueden crear 2 tipos de enlace:

– shares: crea un enlace para ser compartido a través del navegador web.

– media: crea un enlace que acceso al contenido en modo streaming. Muy útil para compartir vídeos.

Continue reading…

[Dropbox Portable SDK .NET] Subir Archivos (VIII)

En la entrega anterior vimos cómo realizar la descarga de un fichero, en esta ocasión vamos a ver como subir un fichero a DropBox . Para ello hay que hacer una petición POST a la url

https://api-content.dropbox.com/1/files_put/<root>/<ubicacionDropBoxFichero>

donde <root> puede contener el valor “sandbox” o “dropbox” (en nuestro caso vamos a usar dropbox), y <ubicacionDropBoxFichero> representa la ruta completa a la que subir el fichero.

Continue reading…