0

我使用Google Drive v3 API,並且在獲取給定文件夾中元素的數量方面遇到了一些麻煩。如何使用Google Drive API獲取文件夾的子女數?

現在我使用的是下面的查詢字符串列表API:

「MyFolderId」在父母

下面是我使用(.NET客戶端庫)的代碼:

async Task<int> GetChildrenCountAsync(String folderId) 
{ 
    FilesResource.ListRequest childrenRequest = Drive.Files.List(); 
    request.Fields = "files"; 
    request.Q = $"'{folderId}' in parents and trashed = false"; 
    FileList children = await childrenRequest.ExecuteAsync(); 
    return children?.Files.Count() ?? 0; 
} 

我也在使用API​​的「fields」屬性中的「files」。通過這種方式,我得到了文件夾中所有文件的列表,我將它們計算在內,就是這樣。

但問題是,這種方法真的效率低下 - 我只想知道一個文件夾的子女人數,沒有別的。

另外,如果一個文件夾中有太多項目,這樣我最終會執行多個查詢來檢索所有結果,並且浪費大量的數據和時間。

有沒有辦法只是查詢一個文件夾的子女數

謝謝你的幫助!

+0

你的代碼在哪裏? –

+0

@ParagJadhav我已經用代碼示例更新了我的問題,因爲它使用的是代碼包裝庫而不是直接API,所以我沒有把它放在第一位。 – Sergio0694

回答

0

驅動器存儲器中的項目沒有子項計數器,因爲驅動器api中的文件夾不能作爲桌面中的常規文件夾。

+0

我明白了,但有沒有辦法用父母中的''id'來查詢項目,並讓服務器/ API只返回它們的數字而不是整個列表? 我的意思是,如果我有一個包含1000個以上項目的文件夾,則需要花費太多才能加載所有這些項目以便能夠對它們進行計數。 – Sergio0694

相關問題