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