2013-06-23 6 views
13

cari tuttiQual è il modo giusto per trovare i file di "percorso completo" in Google Drive API v2

Sto cercando di trovare un elenco di documenti da "percorso completo". E dopo aver letto il riferimento API, sembra essere un compito complesso. Si supponga il mio percorso è qualcosa come/path0/percorso1/percorso2/...

  1. Elenco figli della cartella principale e trovare tutti i bambini con il nome uguale a "path0" e metterli in una lista "result0"
  2. Trova tutti figli di articoli in "result0" con il nome uguale a "path1" e metterli in una lista "result1"
  3. Trova tutti i figli di articoli in "RESULT1" con il nome uguale a "percorso2" e ...

L'approccio al di sopra sembra molto efficiente, poiché ha bisogno di più interazioni tra la mia applicazione e Drive. Comprendo Google Drive consente a più file di condividere lo stesso nome di file anche nella stessa cartella. Sarà utile se posso fare qualcosa del tipo:

listDocByFullPath("path0/path1/path2") 

E 'possibile con la versione attuale di Google Drive SDK? Se non è ancora lì, mi chiedevo se c'è un modo più semplice di quello che ho elencato qui.

BTW, poiché la mia applicazione è puramente un servizio di back-end, non è possibile utilizzare il selettore di file fornito da Google.

Cheers.

+0

Hai mai trovato una soluzione? Sto affrontando lo stesso identico problema. –

risposta

11

A differenza dei file system convenzionali, un file può trovarsi in più cartelle su Drive. Le cartelle sono praticamente simili a quelle delle etichette. Pertanto, i percorsi convenzionali non funzionano sempre all'interno della nostra astrazione. Ti suggerisco di seguire la logica seguente:

  1. Elenca i file con q = 'root' in parents and title = 'path0' and mimeType = 'application/vnd.google-apps.folder' e scegli il primo risultato.
  2. Se è presente un risultato corrispondente, ottenere l'ID della cartella ed eseguire un altro elenco con '<id of path0>' in parents and title = 'path1' and mimeType='application/vnd.google-apps.folder' e selezionare il primo risultato.
  3. Continua fino a raggiungere la cartella di destinazione.
+4

Mi piacerebbe vedere un servizio per risolvere l'id di destinazione per me. – peter

+3

Ciao, Burcu Grazie per la risposta. Questo esattamente quello che sto facendo ora. Sembra Ok al momento. Anche se mi sono preoccupato per le prestazioni future. Sembra che le interazioni tra la mia applicazione e le API di Drive aumentino in modo lineare man mano che aumenta la profondità della directory. L'API che ho proposto può davvero semplificare le cose qui. Cheers. –

2

Il problema più grande è che un percorso non identifica in modo univoco il file o la cartella! Ad esempio, nell'interfaccia utente Web, è possibile creare 2 cartelle con lo stesso nome come figli della stessa cartella. : ad esempio, puoi creare un albero simile al seguente: root |-somefolder |-somefolder

Problemi correlati