悦库开发者手册 V4.3服务端API仓库创建仓库删除仓库获取仓库获取仓库列表更新仓库获取可见的仓库视图文件获取文件(夹)信息获取目录下的文件列表根据关键字搜索文件列表重命名文件获取文件(夹)的绝对路径删除文件至回收站彻底删除文件获取回收站文件列表文件下载下载空间中的文件下载文件历史版本下载回收站文件文件锁锁定文件解锁文件获取文件锁信息历史版本获取文件历史版本列表获取文件历史版本信息删除文件历史版本恢复指定历史版本权限获取权限列表获取文件的访问控制记录删除访问控制记录添加访问控制记录修改访问控制记录组织用户登录获取部门下的子部门和用户列表Token创建APIToken创建用户Token获取APIToken列表删除Token客户端后台服务API询问客户端服务的身份信息登录获取未挂载的盘符文件创建下载任务创建上传任务取消传输任务判断文件是否已本地缓存打开缓存位置打开虚拟盘位置通知消息通知错误通知下载任务进度通知上传任务进度通知文件锁定通知文件解锁通知虚拟盘挂载的结果单点登录对接方案实现甲方系统登录到悦库网盘
请求语法
1POST /Store HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
Header参数
无
Body数据
body数据采用JSON格式
字段 | 类型 | 必需 | 说明 |
---|---|---|---|
name | string | true | 仓库名 |
type | string | true | 仓库类型(“private”,“cooperative”,“public”) |
acl | array | false | 访问控制列表 |
acl数组中,每个元素的数据格式
字段 | 类型 | 说明 |
---|---|---|
orgType | string | 类型 部门:“dept” 用户:“user” |
orgId | number | 用户ID或部门ID |
permissionId | number | 权限ID |
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | number | 新创建的仓库ID |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
示例
请求示例
xxxxxxxxxx
61POST /Store HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3{
4name: "个人文档",
5type: "private"
6}
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 52
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": 96
9}
请求语法
xxxxxxxxxx
41DELETE /Store HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-StoreId: number
4X-YFS-Password: string
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 文件所属仓库ID |
X-YFS-Password | string | true | 用户密码,URL编码 |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | null | 空 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
WrongPassword | 401 | 密码错误。 |
PermissionDenied | 403 | 无权执行此操作。 |
StoreNotExist | 404 | 仓库不存在。 |
示例
请求示例
xxxxxxxxxx
41DELETE /Store HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 1
4X-YFS-Password: .pass_word%2F
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 52
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": null
9}
请求语法
xxxxxxxxxx
31GET /Store HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-StoreId: number
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 文件所属仓库ID |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 仓库信息 |
应答JSON数据中,data字段的格式
字段 | 类型 | 说明 |
---|---|---|
id | number | 仓库ID |
name | string | 仓库名 |
type | string | 仓库类型 私有:“private” 协同:“cooperative” 公共:“public” |
size | number | 大小字节数 |
used | number | 已使用空间字节数 |
fileNum | number | 文件数量 |
dirNum | number | 文件夹数量 |
manager | number | 仓库管理者ID |
managerName | string | 仓库管理者名字 |
deptName | string | 所属部门名称(type值为“cooperative”时,有效) |
createdTime | number | 创建时间,UNIX时间戳 |
modifiedTime | number | 修改时间,UNIX时间戳 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
StoreNotExist | 404 | 仓库不存在。 |
示例
请求示例
xxxxxxxxxx
31GET /Store HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 93
返回示例
xxxxxxxxxx
221HTTP/1.1 200 OK
2Content-Length: 177
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": {
9"id": 93,
10"name": "测试仓库",
11"type": "public",
12"size": 0,
13"used": 0,
14"fileNum": 0,
15"dirNum": 0,
16"manager": 8,
17"managerName": "小明",
18"deptName": "",
19"createdTime": 1624244668,
20"modifiedTime": 1624244668
21}
22}
根据用户的权限获取当前用户可以访问的仓库列表。
请求语法
xxxxxxxxxx
21GET /Stores HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-Type | string | false | 仓库类型 私有:“private” 协同:“cooperative” 公共:“public” |
X-YFS-SortField | string | false | 排序字段 名称:“name” 修改时间:“modifiedTime” 已使用大小:“used” |
X-YFS-SortOrder | string | false | 排序次序 升序:“asc” 降序:“desc” |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 仓库列表 |
data数组中每个仓库信息的数据格式
字段 | 类型 | 说明 |
---|---|---|
id | number | 仓库ID |
name | string | 仓库名 |
type | string | 仓库类型(“private”、“cooperative”、“public”) |
size | number | 大小字节数 |
used | number | 已使用空间字节数 |
fileNum | number | 文件数量 |
dirNum | number | 文件夹数量 |
manager | number | 仓库管理者ID |
managerName | string | 仓库管理者名字(type值为“cooperative”和“public”时,有效) |
deptName | string | 所属部门名称(type值为“cooperative”时,有效) |
createdTime | number | 创建时间,UNIX时间戳 |
modifiedTime | number | 修改时间,UNIX时间戳 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
TaskNotExist | 404 | 任务不存在。 |
示例
请求示例
xxxxxxxxxx
21GET /Stores HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 52
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": []
9}
请求语法
xxxxxxxxxx
31PUT /Store HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-StoreId: number
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 文件所属仓库ID |
Body数据
body数据采用JSON格式
字段 | 类型 | 必需 | 说明 |
---|---|---|---|
name | string | false | 仓库名 |
type | string | false | 仓库类型 私有:“private” 协同:“cooperative” 公共:“public” |
manager | number | false | 仓库管理者的用户ID |
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | object | 空 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
StoreNotExist | 404 | 仓库不存在。 |
示例
请求示例
xxxxxxxxxx
71PUT /Store HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 96
4{
5name: "2020年归档",
6type: "public"
7}
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 52
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": null
9}
请求语法
xxxxxxxxxx
21GET /StoreView HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
Header参数
无
Body数据
无
应答数据
应答数据格式(JSON)
字段 | 类型 | 描述 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 仓库类型列表 个人:“private” 协同:“cooperative” 公共:“public” |
错误码
错误码 | HTTP 状态码 | 描述 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
UserNotExist | 404 | 用户不存在。 |
示例
请求示例
xxxxxxxxxx
21GET /StoreView HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
返回示例
xxxxxxxxxx
131HTTP/1.1 200 OK
2Content-Length: 539
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:52:37 GMT
5{
6"code": "OK",
7"message": "",
8"data": [
9"private",
10"cooperative",
11"public"
12]
13}
请求语法
xxxxxxxxxx
41GET /FileInfo HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-StoreId: storeId
4X-YFS-FileId: fileId
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | string | true | 文件所在仓库ID |
X-YFS-FileId | string | true | 文件ID |
应答数据
应答数据格式(JSON)
字段 | 类型 | 描述 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 文件信息 |
应答JSON数据中,data字段的格式
字段 | 类型 | 描述 |
---|---|---|
id | string | 文件ID |
parentId | string | 所属目录ID |
storeId | number | 所属仓库ID |
pathId | number | 路径ID(文件为:0) |
path | string | 节点路径 |
grade | number | 所属层级 |
name | string | 名称 |
type | number | 类型(文件夹:0,文件:1) |
size | number | 大小字节数 |
createdBy | number | 创建者ID |
accessedBy | number | 访问者ID |
editedBy | number | 内容修改者ID |
modifiedBy | number | 信息修改者ID |
createdTime | number | 创建时间(UNIX时间戳) |
accessedTime | number | 访问时间(UNIX时间戳) |
editedTime | number | 内容修改时间(UNIX时间戳) |
modifiedTime | number | 信息修改时间(UNIX时间戳) |
clientId | string | 客户端ID |
sn | number | 序号 |
cluster | string | 块蔟 |
offset | number | 首块偏移 |
state | number | 文件状态(待定) |
错误码
错误码 | HTTP 状态码 | 描述 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
FileStoreNotExist | 404 | 文件仓库不存在:ID。 |
FileNotExist | 404 | 文件不存在:ID。 |
PermissionDenied | 403 | 权限不够,操作被拒绝。 |
示例
请求示例
xxxxxxxxxx
41GET /FileInfo HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 42
4X-YFS-FileId: 32CA7CED4ABD4FC69E342A6701AA5404
返回示例
xxxxxxxxxx
321HTTP/1.1 200 OK
2Date: Thu, 19 Nov 2021 08:52:00 GMT
3Content-Length: 299
4Content-Type: application/json; charset=utf-8
5{
6"code": "OK",
7"message": "",
8"data": {
9"id": "32CA7CED4ABD4FC69E342A6701AA5404",
10"parentId": "B8EEF7ACC77044FFA947D251F0C323E5",
11"storeId": 42,
12"pathId": 1091,
13"path": "/17/45/696/",
14"grade": 4,
15"name": "蝉知bug截图",
16"type": 0,
17"size": 0,
18"createdBy": 1,
19"accessedBy": 1,
20"editedBy": 1,
21"modifiedBy": 1,
22"createdTime": 1608806370,
23"accessedTime": 1608806370,
24"editedTime": 1608806370,
25"modifiedTime": 1610335393,
26"clientId": "",
27"sn": 1091,
28"cluster": "",
29"offset": 0,
30"state": 0
31}
32}
获取目录下有权访问的的文件列表
请求语法
xxxxxxxxxx
41GET /DirectSubFiles HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-StoreId: storeId
4X-YFS-DirId: DirId
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | string | true | 仓库ID |
X-YFS-DirId | string | true | 文件夹ID(仓库的根目录ID为“00000000000000010000000000000001”) |
X-YFS-SortField | string | false | 排序字段 名称:”name“ 类型:”type“ 修改时间:”editedTime“ 大小:”size“ |
X-YFS-SortOrder | string | false | 排序次序 升序:”asc“ 降序:”desc“ |
应答数据
应答数据格式(JSON)
字段 | 类型 | 描述 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 文件信息列表 |
应答JSON数据中,data字段的格式
字段 | 类型 | 描述 |
---|---|---|
id | string | 文件ID |
parentId | string | 所属目录ID |
storeId | number | 所属仓库ID |
pathId | number | 路径ID(文件为:0) |
path | string | 节点路径 |
grade | number | 所属层级 |
name | string | 名称 |
type | number | 类型(文件夹:0,文件:1) |
size | number | 大小字节数 |
createdBy | number | 创建者ID |
accessedBy | number | 访问者ID |
editedBy | number | 内容修改者ID |
modifiedBy | number | 信息修改者ID |
createdTime | number | 创建时间(UNIX时间戳) |
accessedTime | number | 访问时间(UNIX时间戳) |
editedTime | number | 内容修改时间(UNIX时间戳) |
modifiedTime | number | 信息修改时间(UNIX时间戳) |
clientId | string | 客户端ID |
sn | number | 序号 |
cluster | string | 块蔟 |
offset | number | 首块偏移 |
state | number | 文件状态 |
错误码
错误码 | HTTP 状态码 | 描述 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
FIleStoreNotExist | 404 | 文件仓库不存在:ID。 |
PermissionDenied | 403 | 权限不够,操作被拒绝。 |
示例
请求示例
xxxxxxxxxx
51GET /DirectSubFiles HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 1fbac1d01f6232c351662696f4bf7154
4X-YFS-DirId: de44906d36eb3b0ab612dd9ec6c0ea65
5X-YFS-SearchKey:
返回示例
xxxxxxxxxx
51HTTP/1.1 200 OK
2Content-Length: 539
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:52:37 GMT
5
获取从仓库(StoreId)、文件夹(DirId)下根据关键字(Key)搜索名字中包含关键字(Key)的文件列表。
请求语法
xxxxxxxxxx
51GET /SearchFiles HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-StoreId: storeId
4X-YFS-DirId: DirId
5X-YFS-SearchKey: Key
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 仓库ID |
X-YFS-DirId | string | true | 文件夹ID |
X-YFS-SearchKey | string(URL编码) | true | 搜索关键字 |
X-YFS-SortField | string | false | 排序字段 |
X-YFS-SortOrder | string | false | 排序次序(升序:“ASC”,降序:“DESC”) |
应答数据
应答数据格式(JSON)
字段 | 类型 | 描述 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 文件信息列表 |
应答JSON数据中,data数组中元素的格式
字段 | 类型 | 描述 |
---|---|---|
id | string | 文件ID |
parentId | string | 所属目录ID |
storeId | number | 所属仓库ID |
pathId | number | 路径ID(文件为:0) |
path | string | 节点路径 |
grade | number | 所属层级 |
name | string | 名称 |
type | number | 类型(文件夹:0,文件:1) |
size | number | 大小字节数 |
createdBy | number | 创建者ID |
accessedBy | number | 访问者ID |
editedBy | number | 内容修改者ID |
modifiedBy | number | 信息修改者ID |
createdTime | number | 创建时间(UNIX时间戳) |
accessedTime | number | 访问时间(UNIX时间戳) |
editedTime | number | 内容修改时间(UNIX时间戳) |
modifiedTime | number | 信息修改时间(UNIX时间戳) |
clientId | string | 客户端ID |
sn | number | 序号 |
cluster | string | 块蔟 |
offset | number | 首块偏移 |
state | number | 文件状态 |
错误码
错误码 | HTTP 状态码 | 描述 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
FIleStoreNotExist | 404 | 文件仓库不存在:ID。 |
PermissionDenied | 403 | 权限不够,操作被拒绝。 |
示例
请求示例
xxxxxxxxxx
51GET /SearchFiles HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 1fbac1d01f6232c351662696f4bf7154
4X-YFS-DirId: de44906d36eb3b0ab612dd9ec6c0ea65
5X-YFS-SearchKey:
返回示例
xxxxxxxxxx
341HTTP/1.1 200 OK
2Content-Length: 291
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:52:37 GMT
5{
6"code": "OK",
7"message": "",
8"data": [
9{
10"id": "05272B94DBBA4981B2255ABB46BA7E74",
11"parentId": "35087399E1054E37A56F4D2BD950A328",
12"storeId": 3,
13"pathId": 0,
14"path": "/2/",
15"grade": 2,
16"name": "centos7.bat",
17"type": 1,
18"size": 119,
19"createdBy": 6,
20"accessedBy": 6,
21"editedBy": 6,
22"modifiedBy": 6,
23"createdTime": 1628240626,
24"accessedTime": 1628240626,
25"editedTime": 1628240626,
26"modifiedTime": 1628240626,
27"clientId": "",
28"sn": 2,
29"cluster": "F6E4744E6F07A2EB9E2A62EB656C25AF",
30"offset": 0,
31"state": 0
32}
33]
34}
重命名文件或文件夹
请求语法
xxxxxxxxxx
51PUT /RenameFile HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-StoreId: storeId
4X-YFS-FileId: fileId
5X-YFS-Name: newfilename
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | string | true | 文件所在仓库ID |
X-YFS-FileId | string | true | 文件ID |
X-YFS-Name | string(URL编码) | true | 新文件名称 |
错误码
错误码 | HTTP 状态码 | 描述 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
FileStoreNotExist | 404 | 文件仓库不存在。 |
FileNotExist | 404 | 文件不存在。 |
InvalidFileName | 400 | 无效文件名。 |
FileNameRepeat | 409 | 文件名重复。 |
PermissionDenied | 403 | 权限不够,操作被拒绝。 |
示例
请求示例
xxxxxxxxxx
51PUT /RenameFile HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 2
4X-YFS-FileId: 6E6F1DEE2D8A4EBFADD1C3E776CD43F7
5X-YFS-Name: %E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE.txt
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 54
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": null
9}
根据文件ID,获取其在系统中的绝对路径
请求语法
xxxxxxxxxx
41GET /FileAbsolutePath HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-StoreId: number
4X-YFS-FileId: string
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 文件所属仓库ID |
X-YFS-FileId | string | true | 文件(夹)ID |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | string | 绝对路径字符串 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
StoreNotExist | 404 | 仓库不存在。 |
FileNotExist | 404 | 文件不存在。 |
示例
请求示例
xxxxxxxxxx
41PUT /FileAbsolutePath HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2MjQ4NDcxNDksIm5iZiI6MTYyNDg0NzE0OSwiZXhwIjoxNjI1NDUxOTQ5LCJVcGRhdGVkVGltZSI6MTYyNTQ0ODM0OSwiVXNlcklkIjoiMSIsIkNsaWVudElkIjoiIn0.H5nmhpYseyczjM9J5ZaRyYBkkyfY0AY3SQQDzRzPDaXYlBGCJqYtXnvZGiT_bHGan5sN0IjnKsSLBPqsTCwjyui7OeHo1ltfnRQniarq3yiAMf0SIcKHADO3Bbrx6_0GgC5aI011UC0ziEWLFCyqD4A-awHvWfHykm07mTbe0Gw
3X-YFS-StoreId: 1
4X-YFS-FileId: 5861D5286664421DB08CB8174A689FE6
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 90
3Content-Type: application/json; charset=utf-8
4Date: Mon, 28 Jun 2021 05:25:40 GMT
5{
6"code": "OK",
7"message": "",
8"data": "/我的空间/2021/root/a/a1/a11.txt"
9}
将文件移动到回收站
请求语法
x1DELETE /RemoveFiles HTTP/1.1
2Content-Type: application/json; charset=utf-8
3Authorization: Bearer BEARER_TOKEN
4X-YFS-StoreId: 1fbac1d01f6232c351662696f4bf7154
5JSON array
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | string | true | 文件所在仓库ID |
Body数据
body数据采用JSON格式为:要删除文件的ID列表
应答数据
应答数据格式(JSON)
字段 | 类型 | 描述 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | null | 空 |
错误码
错误码 | HTTP 状态码 | 描述 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
StoreNotExist | 404 | 文件仓库不存在。 |
PermissionDenied | 403 | 权限不够,操作被拒绝。 |
示例
请求示例
x1PUT /DeleteFiles HTTP/1.1
2Content-Type: application/json; charset=utf-8
3Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
4X-YFS-StoreId: 2
5[
6"47B43AD184AE4A96AD5327CD95423A09",
7"DF01FF04548A4C5A8EC0D4C8A4065468"
8]
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 54
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": null
9}
请求语法
x1DELETE /DeleteFiles HTTP/1.1
2Content-Type: application/json; charset=utf-8
3Authorization: Bearer BEARER_TOKEN
4X-YFS-StoreId: 2
5JSON array
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | string | true | 文件所在仓库ID |
Body数据
body数据采用JSON格式为:要删除文件的ID列表
应答数据
应答数据格式(JSON)
字段 | 类型 | 描述 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 空 |
错误码
错误码 | HTTP 状态码 | 描述 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | XXX 参数无效。 |
FileStoreNotExist | 404 | 文件仓库不存在。 |
PermissionDenied | 403 | 权限不够,操作被拒绝。 |
DatabaseDeleteFailed | 500 | 数据库执行删除结果不符合预期。 |
示例
请求示例
x1DELETE /DeleteFiles HTTP/1.1
2Content-Type: application/json; charset=utf-8
3Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
4X-YFS-StoreId: 2
5[
6"47B43AD184AE4A96AD5327CD95423A09",
7"DF01FF04548A4C5A8EC0D4C8A4065468"
8]
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 54
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": null
9}
请求语法
xxxxxxxxxx
21GET /RecycleFiles HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-SortField | string | fasle | 排序字段 文件名称:”name“ 文件大小:”size“ 删除时间:”deletedTime“ |
X-YFS-SortOrder | string | false | 排序顺序 升序:“asc” 降序:”desc“ |
应答数据
应答数据格式(JSON)
字段 | 类型 | 描述 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 文件信息 |
应答JSON数据中,data字段的格式
字段 | 类型 | 描述 |
---|---|---|
id | string | 文件ID |
parentId | string | 文件父ID |
storeId | string | 文件所属仓库ID |
path | string | 文件节点路径 |
name | string | 文件名 |
type | number | 文件类型(文件夹:0,文件:1) |
size | number | 文件大小字节数 |
createdBy | number | 文件创建者ID |
accessedBy | number | 文件访问者ID |
editedBy | number | 文件内容修改者ID |
modifiedBy | number | 文件元信息修改者ID |
createdTime | number | 文件创建时间(UNIX时间戳) |
accessedTime | number | 文件访问时间(UNIX时间戳) |
editedTime | number | 文件内容修改时间(UNIX时间戳) |
modifiedTime | number | 文件元信息修改时间(UNIX时间戳) |
cluster | string | 文件对象 |
offset | number | 文件偏移(文件块中的偏移值) |
state | number | 文件状态(锁定:1,外链:2) |
错误码
错误码 | HTTP 状态码 | 描述 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
示例
请求示例
xxxxxxxxxx
21GET /RecycleFiles HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1OTcwMjIwNzYsIm5iZiI6MTU5NzAyMjA3NiwiZXhwIjoxNTk3NjI2ODc2LCJVcGRhdGVUaW1lIjoxNTk3NjI2ODE2LCJVc2VySWQiOiIyNTBCOEEyNzRERjc0RjdFODY1RTczRENBMUVDQjIzQyIsIkRldmljZUlkIjoiIn0.aOhrCoWUN1UWh9NRValebzZ4j6a7L30euxr_DO54yOGgX8p__VtzmzndsT3AMg5mbousrRjbfbHVe9KRuENuX2EONOMY_2GBGLznm4S8JhVziPq0h5XwrIRPqQMTpjqy_VnN7SPBBa6Mmsgd9iDnG3ImRn609oJcJSrMPc0PKvs
返回示例
xxxxxxxxxx
341HTTP/1.1 200 OK
2Content-Length: 297
3Content-Type: application/json; charset=utf-8
4Date: Wed, 29 Apr 2015 05:21:12 GMT
5{
6"code": "OK",
7"message": "",
8"data": {
9"count": 1,
10"fileList": [
11{
12"id": 18,
13"storeId": 3,
14"fileId": "EC400D13E31C4413A2F7BABF69D9000F",
15"parentId": "6D6FF52D87A84A5B9A5A238B352DA767",
16"pathId": 4425,
17"path": "/3812/3814/3820/3839/3875/4052/",
18"grade": 7,
19"name": "images",
20"type": 0,
21"size": 0,
22"storeType": "cooperative",
23"origPath": "",
24"createdBy": 1,
25"deletedBy": 1,
26"createdTime": 1628749642,
27"deletedTime": 1628757747,
28"clientId": "",
29"cluster": "",
30"offset": 0
31}
32]
33}
34}
支持文件和文件夹下载,文件夹会打包成ZIP格式下载,必须拥有下载权限
请求语法
xxxxxxxxxx
11GET /DownloadFile/{token}/{storeId}/{fileId}[/{name}] HTTP 1.1
参数说明
参数名 | 参数类型 | 必需 | 说明 |
---|---|---|---|
storeId | number | true | 仓库ID |
fileId | string | true | 文件ID |
token | string | true | JWT认证令牌 |
name | string | false | 下载的文件名称,URL编码 |
示例
xxxxxxxxxx
11http://127.0.0.1:2010/DownloadFile/1/5B1F723622F04B27B1DA01210E17D4C9/eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2MzM3NzAxNzQsIm5iZiI6MTYzMzc3MDE3NCwiZXhwIjoxNjM0Mzc0OTc0LCJUb2tlbklkIjoiOTIiLCJVc2VySWQiOiIxIiwiQ2xpZW50SWQiOiIiLCJVcGRhdGVkVGltZSI6MTYzNDM3MTM3NH0.kj-DsSX4t23lqFsm6SSjhqygiAl3Qm_Mti_Q5SMSurIDUacZcZYknGJ5QZI2UquAP6Akdw6SKn6lRKQrBEszXANbaTGNCxI3uS3bFL-xUaiUw6T7xL42VR8GdzAO93UsPtPNo-hpL-Oo35suCYjnvnCvRo2zBo9fj7QEaFReFWw/%E6%B5%8B%E8%AF%95.txt
请求语法
xxxxxxxxxx
11GET /DownloadFileVersion/{token}/{storeId}/{fileId}/{version} HTTP 1.1
参数说明
参数名 | 参数类型 | 必需 | 说明 |
---|---|---|---|
storeId | number | true | 仓库ID |
fileId | string | true | 文件ID |
version | number | true | 文件版本号(为“0”表示下载最新文件) |
token | string | true | JWT认证令牌 |
示例
xxxxxxxxxx
11http://127.0.0.1:2010/DownloadFileVersion/1/5B1F723622F04B27B1DA01210E17D4C9/3/eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2MzM3NzAxNzQsIm5iZiI6MTYzMzc3MDE3NCwiZXhwIjoxNjM0Mzc0OTc0LCJUb2tlbklkIjoiOTIiLCJVc2VySWQiOiIxIiwiQ2xpZW50SWQiOiIiLCJVcGRhdGVkVGltZSI6MTYzNDM3MTM3NH0.kj-DsSX4t23lqFsm6SSjhqygiAl3Qm_Mti_Q5SMSurIDUacZcZYknGJ5QZI2UquAP6Akdw6SKn6lRKQrBEszXANbaTGNCxI3uS3bFL-xUaiUw6T7xL42VR8GdzAO93UsPtPNo-hpL-Oo35suCYjnvnCvRo2zBo9fj7QEaFReFWw
请求语法
xxxxxxxxxx
11GET /DownloadRecycleFile/{token}/{storeId}/{fileId} HTTP 1.1
参数说明
参数名 | 参数类型 | 必需 | 说明 |
---|---|---|---|
storeId | number | true | 仓库ID |
fileId | string | true | 文件ID |
token | string | true | JWT认证令牌 |
示例
xxxxxxxxxx
11http://127.0.0.1:2010/DownloadFileVersion/eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2MzM3NzAxNzQsIm5iZiI6MTYzMzc3MDE3NCwiZXhwIjoxNjM0Mzc0OTc0LCJUb2tlbklkIjoiOTIiLCJVc2VySWQiOiIxIiwiQ2xpZW50SWQiOiIiLCJVcGRhdGVkVGltZSI6MTYzNDM3MTM3NH0.kj-DsSX4t23lqFsm6SSjhqygiAl3Qm_Mti_Q5SMSurIDUacZcZYknGJ5QZI2UquAP6Akdw6SKn6lRKQrBEszXANbaTGNCxI3uS3bFL-xUaiUw6T7xL42VR8GdzAO93UsPtPNo-hpL-Oo35suCYjnvnCvRo2zBo9fj7QEaFReFWw/1/5B1F723622F04B27B1DA01210E17D4C9
拥有文件编辑权限的用户,可以使用独占锁锁定文件,锁定之后,除锁定者外其他人不能修改文件。
请求语法
xxxxxxxxxx
41PUT /LockFile HTTP/1.1
2Authorization: Bearer string
3X-YFS-StoreId: number
4X-YFS-FileId: string
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 文件所属仓库ID |
X-YFS-FileId | string | true | 文件ID |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | null | 无 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
StoreNotExist | 404 | 仓库不存在 |
FileNotExist | 404 | 文件不存在 |
Unsupported | 405 | 文件夹不支持此操作 |
PermissionDenied | 403 | 权限被拒绝 |
FileIsLocked | 409 | 文件已被锁定 |
示例
请求示例
xxxxxxxxxx
41PUT /LockFile HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 2
4X-YFS-FileId: DC142CE758C3422FB4039EDD16F00BDA
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 54
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": null
9}
只有锁定者和拥有仓库管理权限的用户能够解锁。
请求语法
xxxxxxxxxx
41PUT /Unlock HTTP/1.1
2Authorization: Bearer string
3X-YFS-StoreId: number
4X-YFS-FileId: string
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 文件所属仓库ID |
X-YFS-FileId | string | true | 文件ID |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | null | 无 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
StoreNotExist | 404 | 仓库不存在 |
FileNotExist | 404 | 文件不存在 |
Unsupported | 405 | 文件夹不支持此操作 |
PermissionDenied | 403 | 权限被拒绝 |
示例
请求示例
xxxxxxxxxx
41PUT /UnlockFile HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 2
4X-YFS-FileId: DC142CE758C3422FB4039EDD16F00BDA
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 54
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": null
9}
请求语法
xxxxxxxxxx
41GET /FileLock HTTP/1.1
2Authorization: Bearer string
3X-YFS-StoreId: number
4X-YFS-FileId: string
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 文件所属仓库ID |
X-YFS-FileId | string | true | 文件ID |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | object | 文件锁信息 |
data数据格式
字段 | 类型 | 描述 |
---|---|---|
storeId | number | 仓库ID |
fileId | string | 文件ID |
type | string | 文件锁类型: 独占锁:“exclusive” 共享锁:“shared” |
lockedBy | number | 锁定用户ID |
lockedUsername | string | 锁定用户名 |
lockedTime | number | 锁定时间UNIX时间戳 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
StoreNotExist | 404 | 仓库不存在 |
FileNotExist | 404 | 文件不存在 |
FileIsNotLocked | 404 | 文件没有被锁定 |
PermissionDenied | 403 | 权限被拒绝 |
示例
请求示例
xxxxxxxxxx
41GET /FileLock HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 3
4X-YFS-FileId: 1644D00E7C6242B5BB77DF56D22A8722
返回示例
xxxxxxxxxx
161HTTP/1.1 200 OK
2Content-Length: 165
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": {
9"storeId": 3,
10"fileId": "1644D00E7C6242B5BB77DF56D22A8722",
11"type": "exclusive",
12"lockedBy": 8,
13"lockedUsername": "杜刚",
14"lockedTime": 1630474906
15}
16}
请求语法
xxxxxxxxxx
41GET /FileVersions HTTP/1.1
2Authorization: Bearer string
3X-YFS-StoreId: number
4X-YFS-FileId: string
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 文件所属仓库ID |
X-YFS-FileId | string | true | 文件ID |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 历史版本列表 |
data数组元素的数据格式
字段 | 类型 | 描述 |
---|---|---|
version | number | 版本号(为”0”时,表示最新版本) |
storeId | number | 仓库ID |
fileId | string | 文件ID |
name | string | 文件名 |
size | number | 文件大小字节数 |
cluster | string | 文件块蔟 |
offset | number | 首个数据块的偏移字节数 |
editedTime | number | 修改时间,UNIX时间戳 |
editedBy | number | 修改者ID |
editedUsername | string | 修改者用户名 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
StoreNotExist | 404 | 仓库不存在 |
FileNotExist | 404 | 文件不存在 |
PermissionDenied | 403 | 权限被拒绝 |
示例
请求示例
xxxxxxxxxx
41GET /FileVersions HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 1
4X-YFS-FileId: 64A806D7DB484EE69406020DF8148BA8
返回示例
xxxxxxxxxx
581HTTP/1.1 200 OK
2Content-Length: 405
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": [
9{
10"version": 0,
11"fileId": "64A806D7DB484EE69406020DF8148BA8",
12"storeId": 1,
13"name": "Merage request操作流程.docx",
14"size": 29880,
15"cluster": "C4A0A36D20322419F6E88D8C820D5B84",
16"offset": 0,
17"editedBy": 1,
18"editedTime": 1633679756,
19"editedUsername": "admin"
20},
21{
22"version": 7,
23"fileId": "64A806D7DB484EE69406020DF8148BA8",
24"storeId": 1,
25"name": "Merage request操作流程.docx",
26"size": 29980,
27"cluster": "975306720BCB367114EF2685289A4E3B",
28"offset": 0,
29"editedBy": 2,
30"editedTime": 1633676489,
31"editedUsername": "杜刚"
32},
33{
34"version": 6,
35"fileId": "64A806D7DB484EE69406020DF8148BA8",
36"storeId": 1,
37"name": "Merage request操作流程.docx",
38"size": 30173,
39"cluster": "D05060411B61A422437E4704881D7919",
40"offset": 0,
41"editedBy": 4,
42"editedTime": 1633676464,
43"editedUsername": "佐助"
44},
45{
46"version": 5,
47"fileId": "64A806D7DB484EE69406020DF8148BA8",
48"storeId": 1,
49"name": "Merage request操作流程.docx",
50"size": 24302,
51"cluster": "5C5A2EF43001678B0F4C51D4EB912587",
52"offset": 0,
53"editedBy": 3,
54"editedTime": 1633675204,
55"editedUsername": "卡卡西"
56}
57]
58}
请求语法
xxxxxxxxxx
51GET /FileVersion HTTP/1.1
2Authorization: Bearer string
3X-YFS-StoreId: number
4X-YFS-FileId: string
5X-YFS-Version: number
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 文件所属仓库ID |
X-YFS-FileId | string | true | 文件ID |
X-YFS-Version | number | false | 版本号(为“0”或忽略表示最新版本) |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | object | 文件版本信息 |
data的数据格式
字段 | 类型 | 描述 |
---|---|---|
version | number | 版本号(为”0”时,表示最新版本) |
storeId | number | 仓库ID |
fileId | string | 文件ID |
name | string | 文件名 |
size | number | 文件大小字节数 |
cluster | string | 文件块蔟 |
offset | number | 首个数据块的偏移字节数 |
editedTime | number | 修改时间,UNIX时间戳 |
editedBy | number | 修改者ID |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
StoreNotExist | 404 | 仓库不存在 |
FileNotExist | 404 | 文件不存在 |
VersionNotExist | 404 | 版本不存在 |
PermissionDenied | 403 | 权限被拒绝 |
示例
请求示例
xxxxxxxxxx
51GET /FileVersion HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 4
4X-YFS-FileId: 5B1F723622F04B27B1DA01210E17D4C9
5X-YFS-Version: 1
返回示例
xxxxxxxxxx
191HTTP/1.1 200 OK
2Content-Length: 223
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": {
9"version": 1,
10"fileId": "5B1F723622F04B27B1DA01210E17D4C9",
11"storeId": 4,
12"name": "历史版本测试.txt",
13"size": 1,
14"cluster": "511B0D5F341BDDBD9A5348923B48D14C",
15"offset": 0,
16"editedBy": 1,
17"editedTime": 1633741701
18}
19}
请求语法
xxxxxxxxxx
51DELETE /FileVersion HTTP/1.1
2Authorization: Bearer string
3X-YFS-StoreId: number
4X-YFS-FileId: string
5X-YFS-Version: number
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 仓库ID |
X-YFS-FileId | string | true | 文件ID |
X-YFS-Version | number | true | 版本号 |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | null | 无 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
StoreNotExist | 404 | 仓库不存在 |
FileNotExist | 404 | 文件不存在 |
VersionNotExist | 404 | 版本不存在 |
PermissionDenied | 403 | 权限被拒绝 |
示例
请求示例
xxxxxxxxxx
51DELETE /FileVersion HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 19
4X-YFS-FileId: 1644D00E7C6242B5BB77DF56D22A8722
5X-YFS-Version: 3
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 165
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": null
9}
把文件恢复至指定的历史版本
请求语法
xxxxxxxxxx
51PUT /RestoreVersion HTTP/1.1
2Authorization: Bearer string
3X-YFS-StoreId: number
4X-YFS-FileId: string
5X-YFS-Version: number
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 仓库ID |
X-YFS-FileId | string | true | 文件ID |
X-YFS-Version | number | true | 版本号 |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | null | 无 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
StoreNotExist | 404 | 仓库不存在 |
FileNotExist | 404 | 文件不存在 |
VersionNotExist | 404 | 版本不存在 |
PermissionDenied | 403 | 权限被拒绝 |
示例
请求示例
xxxxxxxxxx
51PUT /RestoreVersion HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-StoreId: 19
4X-YFS-FileId: 1644D00E7C6242B5BB77DF56D22A8722
5X-YFS-Version: 3
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 165
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": null
9}
获取权限列表
请求语法
xxxxxxxxxx
21GET /Permissions HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
Header参数
无
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 空 |
应答JSON数据中,data数组的每个元素的格式
字段 | 类型 | 说明 |
---|---|---|
id | number | 权限ID |
name | string | 权限名称 |
desc | string | 权限描述 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
示例
请求示例
xxxxxxxxxx
81GET /Permissions HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3{
4permissionId: 1,
5orgId: 1,
6storeId: 1,
7fileId: 1
8}
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 52
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": []
9}
请求语法
xxxxxxxxxx
41GET /AccessControl HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-StoreId: number
4X-YFS-FileId: string
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-StoreId | number | true | 文件所属仓库ID |
X-YFS-FileId | string | true | 文件(夹)ID |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 空 |
应答JSON数据中,data数组的每个元素的格式
字段 | 类型 | 说明 |
---|---|---|
id | number | 访问控制记录ID |
orgId | number | 部门ID或用户ID |
orgName | string | 部门名称或用户名 |
permissionId | number | 权限ID |
permissionName | string | 权限名称 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
StoreNotExist | 404 | 仓库不存在。 |
FileNotExist | 404 | 文件不存在。 |
示例
请求示例
xxxxxxxxxx
81PUT /AccessControl HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3{
4permissionId: 1,
5orgId: 1,
6storeId: 1,
7fileId: 1
8}
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 52
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": []
9}
请求语法
xxxxxxxxxx
31DELETE /AccessControl HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-RecordId: number
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-RecordId | number | true | 访问控制记录ID |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 空 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
RecordNotExist | 404 | 记录不存在。 |
示例
请求示例
xxxxxxxxxx
81PUT /AccessControl HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3{
4permissionId: 1,
5orgId: 1,
6storeId: 1,
7fileId: 1
8}
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 52
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": []
9}
请求语法
xxxxxxxxxx
21POST /AccessControl HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
Header参数
无
Body数据
body数据采用JSON格式
字段 | 类型 | 说明 |
---|---|---|
orgType | string | 组织类型:用户“user”,部门“dept” |
orgId | number | 部门ID或用户ID |
storeId | number | 文件(夹)所属仓库ID |
fileId | string | 文件(夹)ID |
permissionId | number | 权限ID |
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 空 |
应答JSON数据中,data字段的格式
字段 | 类型 | 说明 |
---|---|---|
id | number | 新添加的访问控制记录ID |
orgType | string | 组织类型:用户“user”,部门“dept” |
orgId | number | 用户ID或部门ID |
userName | string | 用户名(如果此纪录是为部门设置的,则值为空字符串) |
deptName | string | 部门名称 |
storeId | number | 仓库ID |
storeName | string | 仓库名称 |
fileId | string | 文件ID |
fileName | string | 文件名 |
permissionId | number | 权限ID |
permissionName | string | 权限名称 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
PermissionNotExist | 404 | 权限不存在。 |
OrgNotExist | 404 | 部门或用户不存在。 |
StoreNotExist | 404 | 仓库不存在。 |
FileNotExist | 404 | 文件资源不存在。 |
AccessControlExist | 409 | 访问控制配置已存在。 |
示例
请求示例
xxxxxxxxxx
81POST /AccessControl HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3{
4permissionId: 1,
5orgId: 1,
6storeId: 1,
7fileId: 1
8}
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 52
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": []
9}
请求语法
xxxxxxxxxx
31PUT /AccessControl HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-RecordId: number
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-RecordId | number | true | 访问控制记录ID |
Body数据
body数据采用JSON格式
字段 | 类型 | 说明 |
---|---|---|
orgType | string | 组织类型:用户为“user”,部门为“dept” |
orgtId | number | 部门ID/用户ID |
storeId | number | 文件(夹)所属仓库ID |
fileId | string | 文件(夹)ID |
permissionId | number | 权限ID |
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 空 |
应答JSON数据中,data字段的格式
字段 | 类型 | 说明 |
---|---|---|
id | number | 访问控制记录ID |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
PermissionNotExist | 404 | 权限不存在。 |
OrgNotExist | 404 | 部门或用户不存在。 |
StoreNotExist | 404 | 仓库不存在。 |
FileNotExist | 404 | 文件资源不存在。 |
示例
请求示例
xxxxxxxxxx
81PUT /AccessControl HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3{
4permissionId: 1,
5orgId: 1,
6storeId: 1,
7fileId: 1
8}
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 52
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": []
9}
使用账号和密码登录网盘系统
请求语法
xxxxxxxxxx
41GET /Login HTTP/1.1
2X-YFS-Acount: account
3X-YFS-Password: ************
4X-YFS-ClientId: clientId
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-Account | string(URL编码) | true | 账号 |
X-YFS-Password | string(URL编码) | true | 密码 |
X-YFS-ClientId | string | false | 客户端ID |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 描述 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | 登录成功时,包含JWT令牌,用户信息,服务器地址等 |
应答JSON数据中,data字段的格式
字段 | 类型 | 描述 |
---|---|---|
token | string | JWT令牌 |
userInfo | array | 用户信息 |
serverUrl | array | 服务器信息 |
userInfo字段格式
字段 | 类型 | 描述 |
---|---|---|
id | number | 用户ID |
dept | number | 部门ID |
account | string | 账号 |
name | string | 姓名 |
type | string | 类型:“admin”超级管理员,“common”普通用户 |
role | number | 角色 |
quota | number | 私有空间大小限制字节数【为0时,表示不限制空间】 |
serverUrl字段格式
字段 | 类型 | 描述 |
---|---|---|
internal | array | 内网访问地址信息 |
external | array | 外网访问地址信息 |
external和internal字段格式
字段 | 类型 | 描述 |
---|---|---|
api | string | api服务地址 |
web | string | web服务地址 |
oss | string | oss服务地址 |
错误码
错误码 | HTTP 状态码 | 描述 |
---|---|---|
AccountNotExist | 400 | 账号不存在:account。 |
WrongPassword | 400 | 密码错误。 |
ExceedLicenseLimit | 403 | 超出了授权数限制。 |
UserNotExist | 404 | 用户不存在:account。 |
VersionNotMatched | 403 | 版本不匹配 |
错误码对应的附加数据
VersionNotMatched
字段 | 类型 | 描述 |
---|---|---|
version | string | 服务端版本号,如:1.0.2.2 |
downloadUrl | string | 与服务端版本匹配的客户端下载地址 |
示例
请求示例
xxxxxxxxxx
31GET /Login HTTP/1.1
2X-YFS-Account: admin
3X-YFS-Password: 666666
返回示例
xxxxxxxxxx
331HTTP/1.1 200 OK
2Date: Thu, 13 Aug 2020 07:28:01 GMT
3Content-Length: 625
4Content-Type: application/json; charset=utf-8
5Server: service.ydisk.cn
6{
7"code": "OK",
8"message": "",
9"data": {
10"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1OTczMDM4OTcsIm5iZiI6MTU5NzMwMzg5NywiZXhwIjoxNTk3OTA4Njk3LCJVcGRhdGVUaW1lIjoxNTk3OTA4NjM3LCJVc2VySWQiOiIyNTBCOEEyNzRERjc0RjdFODY1RTczRENBMUVDQjIzQyIsIkRldmljZUlkIjoiIn0.McYIQxDkPTzGaxs2FzIEMDT40wLQ5QKBGTadKyErcR55egJx5WsYH7Ty__8rLxmtYPj1emSZbUM9fh4dAHmghEB7YTiahrJuxURqc9s3nv10JAGwgf2dUzaNyee8onp5ssorm7o4_M5_NHhkptjvk0gdLyTKtsim71uRBH2l9PM",
11"userInfo": {
12"id": "1",
13"dept": "0",
14"account": "admin",
15"name": "admin",
16"type": "admin"
17"role": 1,
18"quota": 0
19},
20"serverUrl": {
21"internal": {
22"api": "http://127.0.0.1:2010",
23"web": "http://127.0.0.1:2020",
24"oss": "http://127.0.0.1:2030"
25},
26"external": {
27"api": "http://ydisk.cn:2010",
28"web": "http://ydisk.cn",
29"oss": "http://ydisk.cn:2030"
30}
31}
32}
33}
获取指定部门的子部门和用户列表
请求语法
xxxxxxxxxx
31GET /DeptSub HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-DeptId: number
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-DeptId | number | true | 部门ID |
Body数据
空
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | object | 空 |
data的数据格式为数组,每个元素的数据格式如下
字段 | 类型 | 说明 |
---|---|---|
id | number | 部门ID或用户ID。 |
parentId | number | 所属部门ID。 |
name | string | 部门名称或用户名。 |
type | string | 部门为“dept”,用户为“user”。 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
InvalidArgument | 400 | 参数无效。 |
PermissionDenied | 403 | 无权执行此操作。 |
示例
请求示例
xxxxxxxxxx
31PUT /AccessControl HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzExMDI0NzcsIm5iZiI6MTU3MTEwMjQ3NywiZXhwIjoxNTcxMTA2MDc3LCJVcGRhdGVUaW1lIjoxNTcxMTA2MDE3LCJVc2VySWQiOiJhZmY2MDRlN2ExZTVkYjEwOGY1NjU2NGIwMGJlMjU5ZSJ9.GnX7mtllQ9Uxi3AJwvDyeA8YIAbgOuhSqKNd_QAm_KzG2xNpunxw__Wrg40MShOh8Y87yZpDmM1Dw4_3I4ryHgHudcBz1VW8jOQHkHoQxOvuZbdmTdqgv5b7fmxUvJMnPWGSz1msAo1lgZ579o9-K0gigQ5w_3hYJDVDUYIvbK4
3X-YFS-DeptId: 1
返回示例
xxxxxxxxxx
221HTTP/1.1 200 OK
2Content-Length: 114
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": [
9{
10"id": 1,
11"parentId": 0,
12"name": "悦库",
13"type": "dept"
14},
15{
16"id": 1,
17"parentId": 0,
18"name": "admin",
19"type": "user"
20}
21]
22}
只有系统管理员才能访问此API接口
请求语法
xxxxxxxxxx
21POST /APIToken HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
Header参数
无
Body数据
字段 | VALUE类型 | 必需 | 说明 |
---|---|---|---|
name | string | true | Token名称 |
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | object | Token信息 |
Token信息的格式
字段 | 类型 | 说明 |
---|---|---|
id | number | Token ID |
name | string | Token名称 |
token | string | Token字符串 |
createdTime | number | 创建时间,UNIX时间戳 |
accessedTime | number | 访问时间,UNIX时间戳 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
PermissionDenied | 403 | 无权执行此操作。 |
示例
请求示例
xxxxxxxxxx
51POST /APIToken HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2Mjk3ODU1MDEsIm5iZiI6MTYyOTc4NTUwMSwiZXhwIjoxNjMwMzkwMzAxLCJUb2tlbklkIjoiMyIsIlVzZXJJZCI6IjEiLCJDbGllbnRJZCI6IiIsIlVwZGF0ZWRUaW1lIjoxNjMwMzg2NzAxfQ.sueJq2ajCt_wR9dplDiYH6xLY3_T3nPzGK3bKzAUzppB1KvspyR3MmyQ3V2ZVvaYxsj-FJUeY3f5_oci3R2lYW4v7A_DB0IX2I1vwB7qf3r3z85sgwV8OqKALNgv4mCLhyGRTq3GaJYv0k5Szi9dfsz5jNUvIzs9QiRAG5L1JfA
3{
4name: "OA系统",
5}
返回示例
xxxxxxxxxx
151HTTP/1.1 200 OK
2Content-Length: 419
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": {
9"id": 5,
10"name": "OA系统",
11"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2Mjk3ODU1NTcsIm5iZiI6MTYyOTc4NTU1NywiZXhwIjoxNjMwMzkwMzU3LCJUb2tlbklkIjoiNSIsIlVzZXJJZCI6IjEiLCJDbGllbnRJZCI6IiIsIlVwZGF0ZWRUaW1lIjoxNjMwMzg2NzU3fQ.nSSnTUbmVcfwXb8FNl7YeFFjEWHbdTWU6Uw4T8__2ykaB-_lQQMwOEhXPOhnWyqEHVFqLHjpser47jXHflZaZPVU8GmiYpcZeaASZ2j9pWpYt1fIDPY5eIY7xNumcXf3Va3GOi87nXBmNCsJen7G1XyIARvurajeTikBj6DNIU4",
12"createdTime": "2021-08-24 14:12:37",
13"accessedTime": "2021-08-24 14:12:37"
14}
15}
只有系统管理员才能访问此API接口
请求语法
xxxxxxxxxx
21POST /UserToken HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
Header参数
无
Body数据
字段 | VALUE类型 | 必需 | 说明 |
---|---|---|---|
account | string | true | 账号 |
username | string | true | 用户名 |
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | sting | Token字符串 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
PermissionDenied | 403 | 无权执行此操作。 |
示例
请求示例
xxxxxxxxxx
61POST /UserToken HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2Mjk3ODU1MDEsIm5iZiI6MTYyOTc4NTUwMSwiZXhwIjoxNjMwMzkwMzAxLCJUb2tlbklkIjoiMyIsIlVzZXJJZCI6IjEiLCJDbGllbnRJZCI6IiIsIlVwZGF0ZWRUaW1lIjoxNjMwMzg2NzAxfQ.sueJq2ajCt_wR9dplDiYH6xLY3_T3nPzGK3bKzAUzppB1KvspyR3MmyQ3V2ZVvaYxsj-FJUeY3f5_oci3R2lYW4v7A_DB0IX2I1vwB7qf3r3z85sgwV8OqKALNgv4mCLhyGRTq3GaJYv0k5Szi9dfsz5jNUvIzs9QiRAG5L1JfA
3{
4"account": "dugang",
5"username": "杜刚"
6}
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 350
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2Mjk3OTcxNjUsIm5iZiI6MTYyOTc5NzE2NSwiZXhwIjoxNjMwNDAxOTY1LCJUb2tlbklkIjoiNSIsIlVzZXJJZCI6OCwiQ2xpZW50SWQiOiIiLCJVcGRhdGVkVGltZSI6MTYzMDM5ODM2NX0.lfJtr_9jAPgyXfCF9QxMygVJzJh9_PvXp7U0hgqDmJZD65FP62LrzgRpXOsCkNHz73KJwH0wJDJHZtANQ80ACvyw3KF8Ox7t0QgCShalfrqQXm3tlNhgRwZSugbM6qiFCDpOucnChwr-R-qmCmJBosS4ESDdbN-x3IqBxjxyjaw"
9}
只有系统管理员才能访问此API接口
请求语法
xxxxxxxxxx
21GET /APITokens HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
Header参数
无
Body数据
无
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | array | Token信息数组 |
Token信息的格式
字段 | 类型 | 说明 |
---|---|---|
id | number | Token ID |
name | string | Token名称 |
token | string | Token字符串 |
createdTime | number | 创建时间,UNIX时间戳 |
accessedTime | number | 访问时间,UNIX时间戳 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
PermissionDenied | 403 | 无权执行此操作。 |
示例
请求示例
xxxxxxxxxx
21GET /Tokens HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2Mjk3ODU1MDEsIm5iZiI6MTYyOTc4NTUwMSwiZXhwIjoxNjMwMzkwMzAxLCJUb2tlbklkIjoiMyIsIlVzZXJJZCI6IjEiLCJDbGllbnRJZCI6IiIsIlVwZGF0ZWRUaW1lIjoxNjMwMzg2NzAxfQ.sueJq2ajCt_wR9dplDiYH6xLY3_T3nPzGK3bKzAUzppB1KvspyR3MmyQ3V2ZVvaYxsj-FJUeY3f5_oci3R2lYW4v7A_DB0IX2I1vwB7qf3r3z85sgwV8OqKALNgv4mCLhyGRTq3GaJYv0k5Szi9dfsz5jNUvIzs9QiRAG5L1JfA
返回示例
xxxxxxxxxx
241HTTP/1.1 200 OK
2Content-Length: 604
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": [
9{
10"id": 4,
11"name": "test",
12"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2Mjk3ODU1MTAsIm5iZiI6MTYyOTc4NTUxMCwiZXhwIjoxNjMwMzkwMzEwLCJUb2tlbklkIjoiNCIsIlVzZXJJZCI6IjEiLCJDbGllbnRJZCI6IiIsIlVwZGF0ZWRUaW1lIjoxNjMwMzg2NzEwfQ.p2Gzv4BigHuy74HzGPJdpz61o1tLfcPtE86nlfUhK__wn8CHSOugh7GOzHkJlVdyJKh2TWqmKAqYmCHzMNWO7bziF1XkcwvLQE9d_mKdMwvJZTcwA6nueKax7SodgFuuohg5luntvgHhVLPO19JYXkdRUbU4fWAsU7_AFmEebdE",
13"createdTime": "2021-08-24 14:11:50",
14"accessedTime": "2021-08-24 14:11:50"
15},
16{
17"id": 5,
18"name": "OA系统",
19"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2Mjk3ODU1NTcsIm5iZiI6MTYyOTc4NTU1NywiZXhwIjoxNjMwMzkwMzU3LCJUb2tlbklkIjoiNSIsIlVzZXJJZCI6IjEiLCJDbGllbnRJZCI6IiIsIlVwZGF0ZWRUaW1lIjoxNjMwMzg2NzU3fQ.nSSnTUbmVcfwXb8FNl7YeFFjEWHbdTWU6Uw4T8__2ykaB-_lQQMwOEhXPOhnWyqEHVFqLHjpser47jXHflZaZPVU8GmiYpcZeaASZ2j9pWpYt1fIDPY5eIY7xNumcXf3Va3GOi87nXBmNCsJen7G1XyIARvurajeTikBj6DNIU4",
20"createdTime": "2021-08-24 14:12:37",
21"accessedTime": "2021-08-24 14:12:37"
22}
23]
24}
只有系统管理员才能访问此API接口
请求语法
xxxxxxxxxx
31DELETE /Token HTTP/1.1
2Authorization: Bearer BEARER_TOKEN
3X-YFS-TokenId: tokenId
Header参数
KEY | VALUE类型 | 必需 | 说明 |
---|---|---|---|
X-YFS-TokenId | number | true | token ID |
Body数据
无
应答数据
应答数据格式(JSON)
字段 | 类型 | 说明 |
---|---|---|
code | string | 状态码(“OK”表示成功) |
message | string | 消息(code不为“OK”时,返回错误消息) |
data | null | 空 |
错误码
错误码 | HTTP 状态码 | 说明 |
---|---|---|
InvalidAuthorization | 401 | 无效授权码。 |
ExpiredAuthorization | 401 | 授权码已过期。 |
PermissionDenied | 403 | 无权执行此操作。 |
示例
请求示例
xxxxxxxxxx
31DELETE /Token HTTP/1.1
2Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2Mjk3ODU1MDEsIm5iZiI6MTYyOTc4NTUwMSwiZXhwIjoxNjMwMzkwMzAxLCJUb2tlbklkIjoiMyIsIlVzZXJJZCI6IjEiLCJDbGllbnRJZCI6IiIsIlVwZGF0ZWRUaW1lIjoxNjMwMzg2NzAxfQ.sueJq2ajCt_wR9dplDiYH6xLY3_T3nPzGK3bKzAUzppB1KvspyR3MmyQ3V2ZVvaYxsj-FJUeY3f5_oci3R2lYW4v7A_DB0IX2I1vwB7qf3r3z85sgwV8OqKALNgv4mCLhyGRTq3GaJYv0k5Szi9dfsz5jNUvIzs9QiRAG5L1JfA
3X-YFS-TokenId: 4
返回示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Content-Length: 54
3Content-Type: application/json; charset=utf-8
4Date: Thu, 06 Aug 2020 06:21:51 GMT
5{
6"code": "OK",
7"message": "",
8"data": null
9}
客户端后台服务运行于客户端电脑后台,默认监听4170端口,可以使用API与其进行交互。
确认是否是客户端服务
请求语法
xxxxxxxxxx
11PUT /who HTTP/1.1
Header参数
示例
请求示例
xxxxxxxxxx
11PUT /who HTTP/1.1
返回示例
xxxxxxxxxx
101HTTP/1.1 200 OK
2Date: Wed, 29 Apr 2015 05:21:12 GMT
3Content-Length: 120
4Connection: keep-alive
5{
6"code":"OK",
7"data":null,
8"message":""
9"data":"{"status":"none"}" //状态的值为:none(未登陆), logined(已登录)
10}
接口用于客户端用户登录
请求语法
xxxxxxxxxx
51GET /login HTTP/1.1
2Date: GMT Date
3X-YFS-ServerUrl: server url
4X-YFS-Account: account
5X-YFS-Password: ************
Header参数
X-YFS-ServerUrl
服务器URL
X-YFS-Account
账号
X-YFS-Password
密码
示例
请求示例
xxxxxxxxxx
71GET /login HTTP/1.1
2Host: service.ydisk.cn
3Date: Wed, 29 Apr 2015 05:21:12 GMT
4User-Agent: ydisk-virualdisk/2.5.0(Windows7/AMD64;)
5X-YFS-ServerUrl: http://demo.ydisk.cn
6X-YFS-Acount: test
7X-YFS-Password: 666666
返回示例
xxxxxxxxxx
211HTTP/1.1 200 OK
2Date: Wed, 29 Apr 2015 05:21:12 GMT
3Content-Length: 352
4Connection: keep-alive
5Server: service.ydisk.cn
6{
7"code":"OK",
8"message":"",
9"data":{
10"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2MjU1MzkwNDQsIm5iZiI6MTYyNTUzOTA0NCwiZXhwIjoxNjI2MTQzODQ0LCJVcGRhdGVkVGltZSI6MTYyNjE0MDI0NCwiVXNlcklkIjoiMSIsIkNsaWVudElkIjoiNzRCNTRDRDg0Qzg4NEQ4OUFENEIyMjIxNkUzREM4NUIifQ.An4ByD2cTNjYOHan7-Ql4QzZ3MTIjkIz6kaPRkv-bIwhQfvAIT-mra8iY2XKbmynq9ENoMJ0V72WYcW8ZE0I5fllVlKKn6WHnn37s-k4yA7yqfzOGY0hoZwCkbzucJwr4nRjEy6k-TNWp1EYFU6BP9gMDMSAQmMlQ1aG2Q3J-CE",
11"userInfo": {
12"account": "ydisk",
13"dept": 0,
14"id": 1,
15"name": "ydisk",
16"quota": 0,
17"role": 1,
18"type": "admin"
19},
20"webUrl": "http://192.168.1.127:2020"
21}
错误码
错误码 | HTTP 状态码 | 描述 |
---|---|---|
AccountNotExist | 400 | 账号不存在:account。 |
WrongPassword | 400 | 密码错误。 |
NotFoundUser | 404 | 用户不存在:account。 |
NotFoundAffiliation | 404 | 不能确定用户的从属关系:account。 |
获取windows系统中未被挂载的盘符,支持win7及以上系统。
请求语法
xxxxxxxxxx
21GET /availableDrive HTTP/1.1
2Date: GMT Date
Header参数
无
示例
请求示例
xxxxxxxxxx
41GET /availableDrive HTTP/1.1
2Host: service.ydisk.cn
3Date: Wed, 29 Apr 2015 05:21:12 GMT
4User-Agent: YFS-virualdisk/2.5.0(Windows7/AMD64;)
返回示例
xxxxxxxxxx
111HTTP/1.1 200 OK
2Date: Wed, 29 Apr 2015 05:21:12 GMT
3Content-Length: 352
4Connection: keep-alive
5{
6"code":"OK",
7"message":"",
8"data":{
9"drive":["H","Y","Z"]
10}
11}
错误码
成功
创建文件/文件夹下载任务,每一个任务只对应一个文件或文件夹。
请求语法
xxxxxxxxxx
81PUT /download HTTP/1.1
2Date: GMT Date
3X-YFS-StoreId: store id
4X-YFS-FileId: file id
5X-YFS-PathOptions: cache
6X-YFS-Replace: false
7X-YFS-OpenAfterDownload: false
8X-YFS-Version: 0
Header参数
X-YFS-StoreId
仓库ID
X-YFS-FileId
文件ID
X-YFS-PathOptions
cache :下载到缓存路径
desktop : 下载到桌面
otherPath 本地目录 :下载到其他目录
X-YFS-Replace
true, 如果本地文件已存在则替换。
false, 如果本地文件不存在则替换。
X-YFS-OpenAfterDownload
true, 下载后打开。
false, 下载后不打开。
X-YFS-Version
文件版本号,如果为0或不填写则下载最新版本
示例
请求示例
xxxxxxxxxx
101GET /upload HTTP/1.1
2Host: service.ydisk.cn
3Date: Wed, 29 Apr 2015 05:21:12 GMT
4User-Agent: YFS-virualdisk/2.5.0(Windows7/AMD64;)
5X-YFS-StoreId: 2857a24d504e78097693c1269cd64059
6X-YFS-FileId: 097693c1269cd2857a24d5046405e789
7X-YFS-PathOptions: cache
8X-YFS-Replace: false
9X-YFS-OpenAfterDownload: false
10X-YFS-Version: 0
返回示例
xxxxxxxxxx
201HTTP/1.1 200 OK
2Date: Wed, 29 Apr 2015 05:21:12 GMT
3Content-Length: 352
4Connection: keep-alive
5{
6"code":"OK",
7"message":"",
8"data":{
9"taskId":"4e2209097628575d4493c1d640594d50",
10"storeId":"d4493c4e2209019762594d508575d640",
11"storeName":"文档",
12"storeType":"mySpace",
13"fileId":"97628575d4493c4e220901d640594d50",
14"fileName":"test.txt",
15"fileType":"file", // file 或 direactory
16"fileSize":"45.3MB",
17"fileThumbnail":"DFSDFI34353-034H34NF3NF3O===",
18"destination":"cache"
19}
20}
错误码
OK
成功
参考 返回示例
FileNotExist
文件不存在
FileOpened
文件已经被打开
FileNameRepeat
文件名重复,文件在本地已存在
FileOccupied
本地已存在,且已经被其他进程占用
xxxxxxxxxx
41{
2"fileName":"test.docx",
3"fileLocalPath":"E:\ydisk\client\xx\docs"
4}
FileDownloadConflict
文件下载内容冲突,但下载任务被正常创建,返回的附加JSON基于任务信息增加了冲突信息。
xxxxxxxxxx
71{
2"conflict": {
3"fileName": "test.冲突(1).txt",
4"localPath": "F:\\ydiskdata\\cache\\我的空间\\2021\\root\\a\\a1"
5}
6}
7
创建文件/文件夹上传任务,每一个任务只对应一个文件或文件夹。
请求语法
xxxxxxxxxx
51PUT /upload HTTP/1.1
2Date: GMT Date
3X-YFS-StoreId: store id
4X-YFS-ParentId: parent id
5X-YFS-Path: local file or directory all path
Header参数
X-YFS-StoreId
仓库ID
X-YFS-ParentId
父ID
X-YFS-Path
文件/文件夹的本地全路径
示例
请求示例
xxxxxxxxxx
71GET /upload HTTP/1.1
2Host: service.ydisk.cn
3Date: Wed, 29 Apr 2015 05:21:12 GMT
4User-Agent: ydisk-virualdisk/2.5.0(Windows7/AMD64;)
5X-YFS-StoreId: 2857a24d504e78097693c1269cd64059
6X-YFS-ParentId: 097693c1269cd2857a24d5046405e789
7X-YFS-Path: E:\test\test.txt
应答示例
xxxxxxxxxx
201HTTP/1.1 200 OK
2Date: Wed, 29 Apr 2015 05:21:12 GMT
3Content-Length: 352
4Connection: keep-alive
5{
6"code":"OK",
7"message":"",
8"data":{
9"taskId":"4e2209097628575d4493c1d640594d50",
10"storeId":"d4493c4e2209019762594d508575d640",
11"storeName":"文档",
12"storeType":"mySpace",
13"fileId":"97628575d4493c4e220901d640594d50",
14"fileName":"test.txt",
15"fileType":"file",
16"fileSize":"45.3MB",
17"fileThumbnail":"DFSDFI34353-034H34NF3NF3O===",
18"destination":"我的空间/文档"
19}
20}
错误码
错误码 | 描述 | 附加 JSON |
---|---|---|
FileNotExist | 文件不存在。 | 无 |
FileOccupied | 文件已经被其他进程占用。 | { "fileName":"test.docx", "fileLocalPath":"E:\ydisk\client\xx\docs" } |
取消正在传输的上传或下载任务
请求语法
xxxxxxxxxx
21PUT /cancel HTTP/1.1
2X-YFS-FileId: file id
Header参数
X-YFS-FileId
文件ID
示例
请求示例
xxxxxxxxxx
21GET /cancel HTTP/1.1
2X-YFS-FileId: 2857a24d504e78097693c1269cd64059
应答示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Date: Wed, 29 Apr 2015 05:21:12 GMT
3Content-Length: 352
4Connection: keep-alive
5{
6"code":"OK",
7"message":"",
8"data":""
9}
错误码
无
判断文件是否已本地缓存
请求语法
xxxxxxxxxx
31GET /isFileCached HTTP/1.1
2X-YFS-StoreId: store id
3X-YFS-FileId: file id
Header参数
X-YFS-StoreId
仓库ID
X-YFS-FileId
文件ID
示例
请求示例
xxxxxxxxxx
31GET /isFileCached HTTP/1.1
2X-YFS-StoreId: 4e78097693c12857a24d50269cd64059
3X-YFS-FileId: 2857a24d504e78097693c1269cd64059
应答示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Date: Wed, 29 Apr 2015 05:21:12 GMT
3Content-Length: 352
4Connection: keep-alive
5{
6"code":"OK",
7"message":"",
8"data":""
9}
错误码
存在
不存在
打开文件对应的本地缓存位置
请求语法
xxxxxxxxxx
31PUT /openCachePath HTTP/1.1
2X-YFS-StoreId: store id
3X-YFS-FileId: file id
Header参数
X-YFS-StoreId
仓库ID
X-YFS-FileId
文件ID
示例
请求示例
xxxxxxxxxx
31PUT /openCachePath HTTP/1.1
2X-YFS-StoreId: 4e78097693c12857a24d50269cd64059
3X-YFS-FileId: 2857a24d504e78097693c1269cd64059
应答示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Date: Wed, 29 Apr 2015 05:21:12 GMT
3Content-Length: 352
4Connection: keep-alive
5{
6"code":"OK",
7"message":"",
8"data":""
9}
错误码
存在
不存在
打开文件对应的虚拟盘位置
请求语法
xxxxxxxxxx
31PUT /openVirualDiskPath HTTP/1.1
2X-YFS-StoreId: store id
3X-YFS-FileId: file id
Header参数
X-YFS-StoreId
仓库ID
X-YFS-FileId
文件ID
示例
请求示例
xxxxxxxxxx
31PUT /openVirualDiskPath HTTP/1.1
2X-YFS-StoreId: 4e78097693c12857a24d50269cd64059
3X-YFS-FileId: 2857a24d504e78097693c1269cd64059
应答示例
xxxxxxxxxx
91HTTP/1.1 200 OK
2Date: Wed, 29 Apr 2015 05:21:12 GMT
3Content-Length: 352
4Connection: keep-alive
5{
6"code":"OK",
7"message":"",
8"data":""
9}
错误码
存在
不存在
客户端后台服务通知消息到前端。
用于通知错误信息到客户端前端
消息ID
xxxxxxxxxx
11error
消息体字段描述
该通知包含以下字段:
code
错误码
message
错误信息
data
错误的附加json数据
消息体示例
xxxxxxxxxx
81{
2"MsgId":"error",
3"MsgData":{
4"code": "FileIsLocked",
5"message": "文件已经被他人锁定!"
6"data": ""
7}
8}
用于通知下载任务状态到客户端前端
消息ID
xxxxxxxxxx
11downloadTask
消息体字段描述
该通知data字段包含以下字段:
taskId
任务ID
type
任务类型:open 打开文件任务; download 下载任务
status
任务状态:processing 正在下载;
Progress
进度信息:
Speed 速度; Percent 百分比(0~100);RemainingTime 剩余时间;
消息体示例
xxxxxxxxxx
211{
2"MsgId":"downloadTask",
3"MsgData":{
4"code": "Ok",
5"message": ""
6"data": {
7"taskId": "FFFB46D26B1D482CAFC293D05A9EF1C4",
8"type": "open"
9"status": "processing"
10"Progress": {
11"Speed": "1.5MB/S",
12"percent": 36,
13"remainingTime": {
14"hour": 1,
15"minute": 23,
16"second": 23
17}
18}
19}
20}
21}
用于通知上传任务状态到客户端前端
消息ID
xxxxxxxxxx
11uploadTask
消息体字段描述
该通知data字段包含以下字段:
taskId
任务ID
type
任务类型:upload 上传任务
status
任务状态:processing 正在上传;
Progress
进度信息:
Speed 速度; Percent 百分比(0~100);RemainingTime 剩余时间;
消息体示例
xxxxxxxxxx
211{
2"MsgId":"uploadTask",
3"MsgData":{
4"code": "Ok",
5"message": ""
6"data": {
7"taskId": "FFFB46D26B1D482CAFC293D05A9EF1C4",
8"type": "upload"
9"status": "processing"
10"Progress": {
11"Speed": "1.5MB/S",
12"percent": 36,
13"remainingTime": {
14"hour": 1,
15"minute": 23,
16"second": 23
17}
18}
19}
20}
21}
用于通知文件锁定状态到客户端前端
消息ID
xxxxxxxxxx
11lockFile
消息体字段描述
该通知data字段包含以下字段:
storeId
仓库ID
fileId
文件ID
xxxxxxxxxx
111{
2"MsgId":"lockFile",
3"MsgData":{
4"code": "Ok",
5"message": ""
6"data": {
7"storeId": "FFFB46D26B1D482CAFC293D05A9EF1C4",
8"fileId": "6D26B1D482CAFCFFFB4293D05A9EF1C4"
9}
10}
11}
用于通知文件解锁状态到客户端前端
消息ID
xxxxxxxxxx
11unlockFile
消息体字段描述
该通知data字段包含以下字段:
storeId
仓库ID
fileId
文件ID
xxxxxxxxxx
111{
2"MsgId":"unlockFile",
3"MsgData":{
4"code": "Ok",
5"message": ""
6"data": {
7"storeId": "FFFB46D26B1D482CAFC293D05A9EF1C4",
8"fileId": "6D26B1D482CAFCFFFB4293D05A9EF1C4"
9}
10}
11}
用于通知虚拟盘挂载的结果
消息ID
xxxxxxxxxx
11mountVirualDisk
消息体字段描述
xxxxxxxxxx
71{
2"MsgId":"mountVirualDisk",
3"MsgData":{
4"code": "Ok",
5"message": ""
6}
7}
悦库可以轻松实现与甲方系统(第三方系统)的用户集成,当甲方用户登录服务端后可以获取该用户的悦库网盘地址。
实现步骤:
登录流程如下: