2014-07-13 2 views
18

Sto cercando di creare un'interfaccia utente Web per consentire agli utenti di navigare sul suo Google Drive e selezionare uno o più documenti a cui fare riferimento in seguito in un sito Web da un DB. Attualmente sto costruendo un'interfaccia web usando .NET. Il problema che sto affrontando è che non riesco a trovare una singola funzione per ottenere un elenco di file per ID cartella. Ho provato ad utilizzare:Come ottenere l'elenco dei file per cartella sull'API di Google Drive

... www.googleapis.com/drive/v2/files/BB0CHANGEDIDF5waGdzbUQ5aWs/children

... ma che non potrà che dare i file di riferimento ID dei file all'interno della cartella (il cosiddetto elemento di risorse per bambini), il che significa che devo scorrere questi file e creare una chiamata per ognuno di essi al fine di ottenere tutti i metadati di cui ho bisogno per l'interfaccia utente. Purtroppo ..

... www.googleapis.com/drive/v2/files~~V~~3rd

..will elencare tutti i miei file senza opzioni di filtro per cartella. Vorrei sapere se esiste un modo efficiente di estrarre una cartella dall'elenco file & da una singola chiamata al server Drive per una cartella specifica.

Ho anche provato questo (based on answer to the similar issue): Sto usando Fiddler per effettuare chiamate dirette all'api. Quando uso questo per effettuare la chiamata `

... www.googleapis.com/drive/v2/files?q='BB0CHANGEDIDF5waGdzbUQ5aWs'

ottengo un errore:

{ 
"error": { 
    "errors": [ 
    {wrongID 
    "domain": "global", 
    "reason": "invalid", 
    "message": "Invalid Value", 
    "locationType": "parameter", 
    "location": "q" 
    } 
    ], 
    "code": 400, 
    "message": "Invalid Value" 
} 
} 

Anche usando google's test page non lo fa. Sembra che l'endpoint "file" non accetti alcun parametro.

Ci deve essere un modo per raggiungere questo obiettivo!

Grazie per il vostro aiuto

+0

Vedere http://stackoverflow.com/questions/41741520/how-do-i-search-sub-folders-and-sub-sub-folders-in-google-drive – pinoyyid

+0

Sì, i documenti API sono orribili: ( – CpILL

risposta

23

Si dovrebbe essere in grado di utilizzare semplicemente files/list con una query genitore;

GET https://www.googleapis.com/drive/v2/files?q='BB0CHANGEDIDF5waGdzbUQ5aWs'+in+parents&key={YOUR_API_KEY} 
+1

GRAZIE per il tuo esempio di stringa richiesta URL. Il problema era che mi mancava il: + in + genitori Puoi dirmi dove questo additivo "nei genitori" è documentato? L'ho completamente perso – user3199365

+0

@ user3199365 È documentato [qui ] (https://developers.google.com/drive/web/search-parameters), cerca la pagina per "genitori". –

+1

q = 'root' nei genitori ti porterà la cartella di livello superiore, nel caso fossi chiedendo – RoccoB

0

Ecco come ottenere campi specifici di file in una cartella utilizzando v3 API:

https://www.googleapis.com/drive/v3/files?q="folderId"+in+parents&fields=files(md5Checksum,+originalFilename) 
// 

sostituire "folderID" con l'ID della cartella.

È possibile utilizzare &fields=files(*) per ottenere tutti i campi del file.