2012-06-29 83 views
9

我對v2 Google Drive SDK有點困惑。使用Google Drive SDK V2枚舉文件夾和文件

似乎有2種方法可以檢索有關文件和文件夾的信息。

files.listchildren.list

使用files.list我似乎並沒有能夠縮小我的搜索文件中的特定文件夾,但使用children.list只返回非常基本的文件信息,如ID。沒有文件名。

它看起來像我必須檢索一個兒童列表,然後執行一個請求,爲每個孩子找出它的文件名,這似乎效率很低。

什麼是使用Google Drive枚舉文件夾及其內容的正常方法?

回答

2

替代做法返回元數據(至少文件名)是使用與files.list查詢表達式由父限制。

q='id-of-parent' in parents 

這將爲您提供與子集合相同的結果,但會爲每個項目提供完整的元數據。

+0

謝謝。我會試試這個。 – Kuffs

2

更新 -

這個現在可以用files.list實現。您可以將q參數與測試文件或文件夾的parents的查詢一起傳遞。

q='MYFOLDERID' in parents 

多個搜索參數和選項和示例在這裏:https://developers.google.com/drive/search-parameters

原來的答覆 -

是的,這是正確的。我們正在尋求改進這一功能,但不幸的是,你現在堅持這一點 - 抱歉。

如果您正在使所有的文件和文件夾更加愜意,更好的解決方案可能是獲取一個簡單的列表,並在文件中使用parents數組來生成層次結構。

+6

感謝。我現在將取消我的GDrive集成計劃,直到SDK更成熟。下載和緩存整個驅動器結構所需的帶寬是移動設備上的一個難題。如果您對此事有任何意見,請發佈一個輕量級(最小依賴性)的Android SDK,它允許我們將驅動器視爲文件系統。即列舉文件\文件夾,刪除,上傳,下載等。目前的SDK非常難以使用。我想替換掉Dropbox,但是他們的SDK現在更好,它可以讓我做我需要做的事情。 – Kuffs

1

如果你想在你的驅動器使用的所有文件夾:

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()); 
} 
相關問題