[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…

[Dropbox Portable SDK .NET] Descargar Archivos (VII)

En esta entrega nos vamos a centrar en el proceso de descarga de ficheros realizando una petición GET a la url

https://api-content.dropbox.com/1/files/<root>/<ubicacionFichero>

donde <root> puede contener el valor “sandbox” o “dropbox” (en nuestro caso vamos a usar dropbox), y <ubicacionFichero> representa la ruta completa del fichero a descargar. Por ejemplo, si necesitamos descargar un fichero de “/programmingapps/sourcecode/parteVII/demoDropBox.zip” la petición GET queda como

https://api-content.dropbox.com/1/files/dropbox/programmingapps/sourcecode/parteVII/demoDropBox.zip

Continue reading…

[Dropbox Portable SDK .NET] Buscar (VI)

Al igual que en cualquier sistema de almacenamiento, drobox nos ofrece una forma de realizar búsquedas haciendo una petición GET a la url

https://api.dropbox.com/1/search/<root>/<path>

donde <root> puede contener el valor “sandbox” o “dropbox” (en nuestro caso vamos a usar dropbox), y <path> representa la ruta sobre la cual efectuar la búsqueda.

Continue reading…

[Dropbox Portable SDK .NET] Listado de archivos y carpetas (V)

En esta entrega vamos a obtener un listado de los archivos y carpetas efectuando una petición GET a la url

https://api.dropbox.com/1/metadata/<root>/<path>

donde <root> puede contener el valor “sandbox” o “dropbox” (en nuestro caso vamos a usar dropbox), y <path> representa la ruta sobre la cual obtener el listado. Para hacernos una idea, en dropbox podemos crear una estructura jerárquica de carpetas. Por ejemplo, para recuperar un listado de los archivos y carpetas existentes dentro de la carpeta “programmingapps”, nuestra petición quedaría como:

https://api.dropbox.com/1/metadata/dropbox/programmingapps

Nota: Al igual que en la entrega anterior, para que esta petición se válida, necesita añadir la cabecera HTTP “Authorization” con el token de acceso.

Continue reading…