获取子文件

1.请求地址

说明一:若不根据propertyCollections获取子文件,则请求方式均为GET,有以下下两种方式:

(1)根据fileId获取子文件

 GET  http://api.hsifue.cn/v3/doc/{wsId}/file/children?fileId={fileId}&pageIndex={pageIndex} 

(2)根据filePath获取子文件

 GET  http://api.hsifue.cn/v3/doc/{wsId}/file/children?filePath={filePath}&pageIndex={pageIndex} 

说明二:若根据propertyCollections获取子文件,则请求方式为POST

2.参数说明

### a.两种GET请求方式
####  (1)根据fileId获取子文件
| 参数名 | 是否必选 | 类型 | 描述 |
| :—-:|:—-: | :—-: | :—-: |
| wsId | 是 | String |空间ID |
| fileId | 是 | String |目录ID,为空时列出空间下根路径下的子文件 |
| pageIndex | 否 | Integer |第几页,默认值为1,非必传参数 |
| pageItemCount | 否 | Integer |每页大小,默认值为100,非必传参数 |
| orderByType | 否 | String |排序字段 可选值:name,type,time,size,非必传参数 |
| order | 否 | String |排序规则 asc,desc,非必传参数 |
| recursive | 否 | Boolean |是否需要深度递归整个文档树 true,false,默认为false,非必传参数 |
| suffix | 否 | String |文件扩展名查询条件,多个以半角逗号分隔 |
| excludeFileNames | no | String,String,… |排除指定name的文件或文件夹 |

####  (2)根据filePath获取子文件
| 参数名 | 是否必选 | 类型 | 描述 |
| :—-:|:—-: | :—-: | :—-: |
| wsId | 是 | String |空间ID |
| filePath | 是 | String |目录路径,为空时列出空间下根路径下的子文件 |
| pageIndex | 否 | Integer |第几页,默认值为1,非必传参数 |
| pageItemCount | 否 | Integer |每页大小,默认值为100,非必传参数 |
| orderByType | 否 | String |排序字段 可选值:name,type,time,size,非必传参数 |
| order | 否 | String |排序规则 asc,desc,非必传参数 |
| recursive | 否 | Boolean |是否需要深度递归整个文档树 true,false,默认为false,非必传参数 |
| suffix | 否 | String |文件扩展名查询条件,多个以半角逗号分隔 |
| excludeFileNames | no | String,String,… |排除指定name的文件或文件夹 b.两种GET请求方式 |

b.请求方式为POST

参数名 是否必选 类型 描述 参数格式
propertyCollections json 针对通过属性查询文档的功能 需要传递属性值集合; 同一个obj的propertyValues之间是 OR 关系; 多个propertyName之间是 AND 关系 [{“propertyName”:“author”, “propertyValues”:[“rexsong22”,“rexsong23”]}, {“propertyName”:“author1”, “propertyValues”:[“rexsong21”,“rexsong23”]}]

3.返回结果

(1).成功返回的结果

{
    "code": 0,//成功返回0
    "message": "success",
    "data": {
        "totalItemCount":200,//记录总数
        "pageItemCount":100,//每页大小
        "pageIndex":1,//当前页码
        "pageCount":2,//总页数
        "items":[
            {
                "fileId": "ea43c8cb255c407aaec9382be0bc9670",//文件ID
                "name": "test.rvt",//文件名称,包括后缀
                "suffix": "rvt",//文件后缀
                "folder": false,//是否为文件夹
                "length": 1024,//文件大小,若为文件夹,则为0
                "digest":"add942b3d1ef00112708e4fabffb41ed", // 文件摘要值
                "appKey": null,//如是应用数据,则是所属应用的appKey,否则为null
                "workspaceId": "bd71afd7c0644e67bad7e7e0ff9ef795",//所属空间ID
                "parentId": "3a42df32a898435db846317f31f2255c",//父文件ID,若为根目录,则为null
                "creatorId": "5735979432142893077",//上传用户ID
                "creatorName": "张三",//上传用户空间名片
                "createTime": 1398145297000 //上传时间
            }
        ]
    }
}

(2).失败返回的结果 (以fileId不存在为例)

{
 "message": "invalid file id[9070426bbb3041468a01148f628fee41]",
 "code": 19001
}

4.code说明

code message 描述 cause
19001 invalid file id[{0}] fileId不存在
19002 parent file [{0}] is not folder 上级不是文件夹
19005 invalid file path[{0}] filePath不存在
19060 no permission to access file [{0}] 没有权限 目录ID权限<enter(这里的目录ID是指父目录)

5.附加说明

关于权限:返回的子文件列表中,经过了权限过滤,满足以下条件才会返回:

文件类型 需要的权限
文件 权限>=preview
目录 权限>=enter

关于分页:

每页显示100条记录

由于每个用户的权限不同,每个单页返回的记录数也不尽相同(最多100个)