2012-10-02 8 views
5

Sto testando l'API di Google Drive. Lo script di test esegue l'HTTP GET per accedere all'API File-> Elenco ma in qualche modo ottengo sempre un elenco vuoto negli elementi. Ho centinaia di file nel mio disco Google, quindi il risultato è inaspettato. La risposta HTTP è mostrata sotto.Accedi all'API di Google Drive restituisce l'elenco file vuoto

{ 
    "kind": "drive#fileList", 
    "etag": "\"VEU5fga3uYlZRf0pG-N1kS4iWP4/Kxo5eGvPKynWfroe9v5L5T43-n0\"", 
    "selfLink": "https://www.googleapis.com/drive/v2/files?maxResults=5", 
    "items": [] 
    } 
+0

Il mio ambito è https://www.googleapis.com/auth/drive. Ho anche provato a utilizzare l'ambito https://docs.google.com/feeds e HTTP GET https://docs.google.com/feeds/default/private/full e anche questo non funziona. – kvzrock

+0

Puoi mostrare la tua richiesta? –

+0

Sembra che l'accesso a Google Drive API tramite l'account di servizio NON sia lo stesso dell'accesso a Google Drive attraverso l'utente a cui è legato l'account di servizio. L'account del servizio ottiene il suo piccolo mondo separato dallo spazio su disco di google dell'utente. – kvzrock

risposta

1

Per consentire account di servizio per accedere ai file nel mio Google Drive, devo dare il permesso all'indirizzo di posta elettronica dell'account di servizio. Una volta che le autorizzazioni sono state configurate correttamente, l'elenco viene popolato con i file a cui l'account di servizio è autorizzato ad accedere.

+0

Puoi specificare come hai dato le autorizzazioni all'account del servizio? Ho condiviso i miei file e cartelle con l'indirizzo email dell'account di servizio ([email protected]) ma non sembra funzionare. – ifunk

+6

Ho trovato il mio problema. Ho avuto l'ambito impostato su ".../auth/drive.file". La modifica in ".../auth/drive" ha risolto il problema. – ifunk

+0

@ifunk Ho lo stesso problema, puoi spiegare cosa hai fatto esattamente? Grazie in anticipo! – mongotop

1

è abbastanza per includere https://www.googleapis.com/auth/drive.readonly.metadata scopo di elencare i file

4

questo di solito significa che hai autenticato con un ambito che non riconoscono il permesso di vedere i file.

Ad esempio, lo scope https://www.googleapis.com/auth/drive.file fornisce solo l'accesso ai file creati o aperti dall'app. Non potrai accedere ai file creati nell'interfaccia di Google Drive o da altre app.

Se si desidera accedere a tutti i file, sarà necessario utilizzare un altro ambito. https://www.googleapis.com/auth/drive, ad esempio, fornisce lo scope completo e permissivo per accedere a tutti i file di un utente.

È possibile trovare informazioni sugli ambiti disponibili here. Usalo per scegliere l'ambito giusto per la tua app.

+1

Questa è la risposta corretta. – Cheeso

Problemi correlati