如何知道某个文件夹内的文件夹的子计数(按文件夹ID提取)?

时间:2018-02-14 07:25:52

标签: google-api google-drive-api

如何知道Result中文件夹的子计数(按文件夹ID提取)?

例如:

主文件夹ID为123。

在主文件夹中我有2个文件夹,即ABC文件夹和XYZ文件夹。

---Root (123)
  |
  ------ ABC
  |
  ------  XYZ

现在我的问题是如何知道ABCXYZ文件夹的子计数。

通过使用一个API调用,我同时需要ABCXYZ的信息以及子计数。

代码:

https://www.googleapis.com/drive/v2/files?maxResults=1000&q='{main folder id}' in parents  and trashed = false)

2 个答案:

答案 0 :(得分:0)

这个终点怎么样?

GET https://www.googleapis.com/drive/v2/files?maxResults=1000&q='### folder ID of ABC ###'+in+parents+or+'### folder ID of XYZ ###'+in+parents+and+trashed%3Dfalse

注意:

  • " ABC"的两个文件夹中的文件信息和" XYZ"使用or运算符检索。
  • 使用此功能时,请输入" ABC"的文件夹ID。和" XYZ"。
  • 使用Drive API v2是由于您的样本。

如果我误解了你的问题,我很抱歉。

答案 1 :(得分:0)

file.list会返回file.resources的列表。当您构建搜索时,您正在主要导演中查找包含两个子目录的文件。您将获得这些目录的列表。

您可以使用Google Apis Explorer

进行测试
GET https://www.googleapis.com/drive/v3/files?q='{Id}'+in+parents+and+(name+contains+'{SEARCHONE}'+or+name+contains+'{SEARCHTWO}')&fields=files(id%2Cname%2Cparents)&key={YOUR_API_KEY}
  1. {id} in parents将仅返回父目录中的文件,这意味着不会返回子目录中的文件
  2. (name+contains+'{SEARCHONE}'+or+name+contains+'{SEARCHTWO}')只返回名称中包含搜索的文件。
  3. 注意:在我的示例中,我使用的是Google Drive API的v3,我建议您尽可能使用它。如果它不可能,那么只需将名称更改为标题,查询也应该适用于oyu。

    <强>答案

    响应不包括计数。列表清单后,您需要在本地自己加总。为了节省一些处理费用,我建议您将fields=files(id,parents)添加到您的请求中,这样您只返回文件及其父级的ID,然后您可以使用它来创建计数。