2014-07-13 121 views
18

我正在嘗試爲用戶導航他/她的Google雲端硬盤並選擇一個或多個文檔以供稍後在數據庫的網站中引用。我目前正在使用.NET構建一個Web界面。 我面臨的問題是,我找不到一個單一的函數來獲取文件夾Id的文件列表。 我嘗試使用:如何根據Google Drive API上的文件夾獲取文件列表

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

...但是,這隻會給文件引用的文件夾中的文件的ID(這就是所謂的兒童資源項目),這意味着我必須遍歷這些文件,併爲其中的每一個創建一個調用,以便獲取我需要的所有元數據。 可惜..

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

..will列出與文件夾中沒有篩選選項,我所有的文件。 我想知道是否有一種有效的方法,通過一個特定的文件夾從一次調用驅動器服務器中提取文件夾列表&。

我也試過(based on answer to the similar issue): 我正在使用Fiddler來直接調用api。當我使用它來撥打電話`

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

我得到一個錯誤:

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

即使使用google's test page也不行。 它看起來像「文件」端點不接受任何參數。

必須有一種方法來實現這一點!

謝謝您的幫助

+0

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

+0

是的,API文檔很糟糕: ( – CpILL

回答

23

您應該能夠簡單地使用files/list與母查詢;

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

)謝謝你的URL請求字符串示例,問題是我錯過了:+ in + parents你能告訴我這個「在父母身上」添加的記錄嗎?我完全錯過了它 – user3199365

+0

@ user3199365它被記錄在這裏](https://developers.google.com/drive/web/search-parameters),只需在頁面中搜索「父母」即可。 –

+1

q =父母的「root」會爲您提供頂級文件夾,以防萬一您想知道 – RoccoB

0

下面是如何獲取文件的特定領域使用V3 API的文件夾中:

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

替換 「folderId」 與文件夾ID。

您可以使用&fields=files(*)來獲取文件的所有字段。

相關問題