
# 统计文件夹 - StatsDir
#### 功能介绍
统计文件夹下的目录数、文件数和文件总大小
#### 授权信息
当前API调用无需身份策略权限。
#### URI
GET /koodrive/ose/v1/files/statsDir
表1Query参数 
| 参数               | 是否必选 | 参数类型    | 描述                                                                                                                                                                                              |
|:---|:---|:---|:---|
| fileId           | 是    | String  | 目录id，也支持统计根目录root                                                                                                                                                                               |
| containerId      | 是    | String  | 目录归属的空间id                                                                                                                                                                                       |
| recursive        | 否    | Boolean | 是否递归统计文件； 递归则统计所有子目录、子文件； 不递归则仅统计指定目录下的直接子目录和子文件； 默认为true 约束：不支持只统计回收站的一级目录及文件； |
| includeDirCount  | 否    | Boolean | 是否统计子目录总数，默认为true                                                                                                                                                                               |
| includeFileCount | 否    | Boolean | 是否统计子文件总数，默认为true                                                                                                                                                                               |
| includeTotalSize | 否    | Boolean | 是否统计文件总大小，默认为true                                                                                                                                                                               |
| type             | 否    | Integer | 带筛选文件类型，枚举值 1、普通文件；2、目录文件；不传或为空时，统计所有类型                                                                                                                                                         |
| extensions       | 否    | String  | 待筛选文件扩展名列表，注意：文件扩展名不区分大小写，例如JPG和jpg搜索结果是一样的； 仅针对子文件有效；最多支持100个后缀，各扩展名之间用逗号分隔，例如"jpg,png"， kooDrive支持的全量扩展名详见文档"使用前必读"                   |
| categorys        | 否    | String  | 待筛选文件分类列表 最多支持100个分类，各分类元素之间用逗号分隔，例如"15,20" categorys的枚举值：10：文件夹、15：图片、 20：视频、 26：word、 27：excel、 28：ppt、 30：音频、 35：压缩文件、 40：应用、 45：其他  |
| hidden           | 否    | Boolean | 是否隐藏，缺省返回全部文件，true：仅返回隐藏文件；false：仅返回非隐藏文件                                                                                                                                                       |
| isRecycled       | 否    | Boolean | 是否统计回收站文件；true表示仅统计跟随父目录删除的文件占用情况，如果此时fileId为root时，则会统计所有回收站文件；false表示不统计回收站，只统计正常文件；如果传null或者不传递时，当fileId为回收站目录时，统计的是跟随父目录删除的文件占用情况；当fileId为正常目录时，统计的是正常文件的占用情况；当fileId为root时，统计的是所有文件的占用情况；   |
   
#### 请求参数
表2请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                            |
|:---|:---|:---|:---|
| X-Traceid     | 否    | String | 消息日志跟踪标识(必须58位)                                                                                                                                               |
| Authorization | 是    | String | 该字段存储的是Access Token。调用KooDrive的API使用Token认证，拥有Token就代表拥有某种权限，在调用API的时候将Token加到请求消息头中，从而通过身份认证，获得操作API的权限。Access Token的获取请参考对应的开发手册，格式参考：Bearer+{access_token} |
| X-User-Id     | 是    | String | 用户id，用于app鉴权                                                                                                                                                  |
| X-Date        | 是    | String | 日期，用于app鉴权                                                                                                                                                    |
| language      | 否    | String | 国际化语言标识，符合i18n规范，如zh-CN表示简体中文，en-US表示美式英语，不传默认美式英语                                                                                                            |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数   | 参数类型                                              | 描述   |
|:---|:---|:---|
| code | String                                            | 响应码  |
| msg  | String                                            | 响应信息 |
| data | [StatsData] object | 数据   |
   
 表4StatsData 
| 参数                  | 参数类型                                                             | 描述                                                                                                            |
|:---|:---|:---|
| totalSize           | String                                                           | 文件总大小                                                                                                         |
| subDirCount         | String                                                           | 子目录总数                                                                                                         |
| subFileCount        | String                                                           | 子文件总数                                                                                                         |
| extensionStatistics | Map\<String,[DirStatistics]\> | 指定文件扩展名的统计结果，注意：仅当筛选条件extensionList非空时返回，DirStatistics中subDircount为空                                          |
| categoryStatistics  | Map\<String,[DirStatistics]\> | 指定文件类别的统计结果，注意：仅当筛选条件categoryList非空时返回，DirStatistics中subDircount仅针对目录文件类别有效，totalSize、subFileCount仅针对普通文件类别有效 |
   
 表5DirStatistics 
| 参数           | 参数类型   | 描述    |
|:---|:---|:---|
| totalSize    | String | 文件总大小 |
| subDirCount  | String | 子目录总数 |
| subFileCount | String | 子文件总数 |
   
#### 请求示例
查询目录FnNGsBnXUdIW7AycSK4ZCTIlPJ6JO1_sF下的目录数，文件数和文件总大小
```
POST /koodrive/ose/v1/files/statsDir?fileId=FnNGsBnXUdIW7AycSK4ZCTIlPJ6JO1_sF&containerId=IAAGvmhWei6Q7A4-A1557836058161393920&recursive=true
Authorization:Bearer+10f88*********4791e9ff
```
#### 响应示例
**状态码：200**
搜索结果
```
{
  "code" : 0,
  "msg" : "success",
  "data" : {
    "totalSize" : 0,
    "subDirCount" : 1,
    "subFileCount" : 0
  }
}
```
#### 状态码
| 状态码 | 描述   |
|:---|:---|
| 200 | 搜索结果 |
   
