2012-06-29 26 views
9

Estoy un poco confundido por el v2 Google Drive SDK.Enumeración de carpetas y archivos usando Google Drive SDK V2

Parece haber 2 métodos para recuperar información sobre archivos y carpetas.

files.list y children.list

Usando files.list no parecen ser capaces de reducir la búsqueda a los archivos en una carpeta específica, pero utilizando children.list sólo devuelve información del archivo muy básico, tales como identificación. No hay nombres de archivo.

Parece que tengo que recuperar una lista de niños y luego realizar una solicitud para que cada niño descubra su nombre de archivo que parece muy ineficiente.

¿Cuál es la forma normal \ correcta de enumerar las carpetas y sus contenidos mediante Google Drive?

Respuesta

2

enfoque alternativo es utilizar files.list con una expresión de consulta de limitar por el padre.

q='id-of-parent' in parents 

esto le dará los mismos resultados que la colección de niño, pero con la plena metadatos para cada elemento.

+0

Gracias. Voy a intentar esto. – Kuffs

2

actualización -

Esto ahora se puede lograr con files.list. Puede pasar el parámetro q con una consulta que pruebe el parents de un archivo o carpeta.

q='MYFOLDERID' in parents 

Más parámetros de búsqueda y opciones y ejemplos aquí: https://developers.google.com/drive/search-parameters

respuesta original -

Sí, esto es correcto. Estamos buscando mejorar esta función, pero desafortunadamente estás atascado con esto por ahora, lo siento.

Si está enumerando todos los archivos y carpetas, una mejor solución podría ser obtener una lista plana, y usar la matriz parents en un archivo para generar la jerarquía.

+6

Gracias. Cancelaré mis planes de integración de GDrive por ahora hasta que el SDK sea más maduro. El ancho de banda requerido para descargar y almacenar en caché toda la estructura de la unidad es un obstáculo en un dispositivo móvil. Si tiene algo que decir al respecto, libere un SDK de Android liviano (con dependencia mínima) que nos permita tratar la unidad como un sistema de archivos. es decir, enumerar archivos \ carpetas, eliminar, cargar, descargar, etc. El SDK actual es muy difícil de usar. Quiero reemplazar Dropbox, pero su SDK es mucho mejor en este momento y me permite hacer lo que tengo que hacer. – Kuffs

2

1 volver metadatos (al menos filename) para children.list

+0

Con la consulta files.list, ya no es necesario. –

1

Si desea obtener todas las carpetas de la unidad de uso:

FileList folders=service.files().list().setQ("mimeType='application/vnd.google-apps.folder'").execute(); 
for(File fl: folders.getItems()){ 
    Log.v(TAG+" fOLDER name:",fl.getTitle()); 
} 
Cuestiones relacionadas