库操作

更新: 2022-7-18

API域名

Host: yk3.gokuai.com

创建库

POST /m-open/1/org/create HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_name 库名称
org_logo 库图标URL
org_capacity 库空间上限, 单位字节, 默认无上限
storage_point_name 库归属存储点名称, 默认为企业默认存储
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

{
    "org_id": 库ID,
    "mount_id": 库空间ID
}

修改库

POST /m-open/1/org/set HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id - 库ID, org_idmount_id 只需要传其中一个
mount_id - 库空间ID, org_idmount_id 只需要传其中一个
org_name 库名称, 不传表示不修改
org_logo 库图标URL, 不传表示不修改
org_capacity 库空间上限, 单位字节, 不传表示不修改, 空字符串表示不设置上限
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

HTTP 200


库信息

POST /m-open/1/org/info HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id - 库ID, org_idmount_id 只需要传其中一个
mount_id - 库空间ID, org_idmount_id 只需要传其中一个
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

{
    "info":
    {
        "org_id": 库ID,
        "org_name": "库名称",
        "org_logo_url": "库图标URL",
        "size_org_total": 库空间总大小, 单位字节, -1表示空间不限制,
        "size_org_use": 库已使用空间大小, 单位字节,
        "file_count": 库文件数量, 不包括删除,
        "dir_count": 库文件夹数量, 不包括删除,
        "mount_id": 库空间ID,
        "owner_id": 库拥有者ID
    }
}

搜索库

POST /m-open/1/org/search HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
name - 库名称, 精确匹配查找, nameprefix 只需传其中一个
prefix - 库名称前缀, 模糊匹配, nameprefix 只需传其中一个
size 返回条数, 默认10, 不超过1000
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

{
    "list":
    [
        {
            "org_id": 库ID,
            "org_name": "库名称",
            "org_logo_url": "库图标URL",
            "size_org_total": 库空间总大小, 单位字节, -1表示空间不限制
            "size_org_use": 库已使用空间大小, 单位字节
            "mount_id": 库空间ID,
            "owner_id": 库拥有者ID, 0表示未指定拥有者
        },
        ...
    ]
}

个人文件库信息

POST /m-open/1/org/info_by_member HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
member_id - 成员ID
out_id - 成员外部系统唯一ID
account - 成员外部系统登录帐号
email - 普通公有云帐号通过登录邮箱查询
dateline 当前unix时间戳, 单位秒
sign 签名

member_id, out_id, accountemail只需传其中一个

返回结果

{
    "info":
    {
        "org_id": 库ID,
        "org_name": "库名称",
        "org_logo_url": "库图标URL",
        "size_org_total": 库空间总大小, 单位字节, -1表示空间不限制,
        "size_org_use": 库已使用空间大小, 单位字节,
        "file_count": 库文件数量, 不包括删除,
        "dir_count": 库文件夹数量, 不包括删除,
        "mount_id": 库空间ID
    }
}

注意: 如果个人文件库未初始化, 则只会返回管理员为个人文件库设置的空间大小size_org_total

{
    "info":
    {
        "size_org_total": 库空间总大小, 单位字节, -1表示空间不限制
    }
}

设置个人文件库

POST /m-open/1/org/set_by_member HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
member_id - 成员ID
out_id - 成员外部系统唯一ID
account - 成员外部系统登录帐号
email - 普通公有云帐号通过登录邮箱查询
capacity 库空间, 单位字节, -1表示空间不限制
dateline 当前unix时间戳, 单位秒
sign 签名

member_id, out_id, accountemail只需传其中一个

返回结果

HTTP 200


获取库列表

POST /m-open/1/org/ls HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
type 1返回非个人文件库, 2返回个人文件库, 默认0返回所有
member_id 只返回该成员参与的库
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

{
    "list":
    [
        {
            "org_id": 库ID,
            "org_name": "库名称",
            "org_logo_url": "库图标URL",
            "size_org_total": 库空间总大小, 单位字节, -1表示空间不限制
            "size_org_use": 库已使用空间大小, 单位字节
            "mount_id": 库空间ID,
            "owner_id": 库拥有者ID, 0表示未指定拥有者
        },
        ...
    ]
}

获取库授权

POST /m-open/1/org/bind HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id - 库ID, 库ID库空间ID必需传一个
mount_id - 库空间ID, 库ID库空间ID必需传一个
title 对接库文件的应用或系统名称
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

{
    "org_client_id": "库授权client_id",
    "org_client_secret": "库授权client_secret"
}

org_client_secret用于调用 库文件操作 API签名时的密钥

注意: 每个client_id针对每个库只会生成1个授权, 再次调用时会返回前一次的授权


取消库授权

POST /m-open/1/org/unbind HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_client_id 库授权
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

HTTP 200


获取库成员列表

POST /m-open/1/org/get_members HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID
start 开始位置,默认0
size 返回条数,默认20
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

{
    "list":
    [
        {
            "member_id": 成员ID,
            "out_id": 成员外部ID,
            "account": "成员外部帐号",
            "member_name": "成员显示名",
            "member_email": "成员邮箱",
            "state": 成员状态,
            "role_id" 角色ID
        },
        ...
    ],
    count: 成员总数
}

查询库成员信息

POST /m-open/1/org/get_member HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID
ids 成员唯一ID或帐号, 多个用逗号,分隔: id1,id2,id3
type ids的类型: account, out_idmember_id
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

{
    "ids参数中的成员唯一ID或帐号":
    {
        "member_id": 成员ID,
        "out_id": "成员外部ID",
        "account": "成员外部帐号",
        "member_name": "成员显示名",
        "member_email": "成员邮箱",
        "state": 成员状态,
        "role_id": 角色ID
    },
    ...
}

设置库拥有者

POST /m-open/1/org/set_owner HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID
member_id 设置为库拥有者的成员ID
role_id 原库拥有者更换角色ID, 不传或传空表示移除原拥有者
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

HTTP 200


添加库成员

POST /m-open/1/org/add_member HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID
member_ids 需要添加的成员ID, 多个用逗号,分隔
role_id 角色ID
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

HTTP 200


修改库成员角色

POST /m-open/1/org/set_member_role HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID
member_ids 需要修改的成员ID, 多个以逗号,分隔
role_id 角色ID
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

HTTP 200


删除库成员

POST /m-open/1/org/del_member HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID
member_ids 成员id, 以逗号分隔
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

HTTP 200


获取库部门列表

POST /m-open/1/org/get_groups HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

{
    {
        "id": 部门ID,
        "name": "部门名称",
        "role_id": 角色ID
    },
    ...
}

库上添加部门

POST /m-open/1/org/add_group HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID
group_id 部门ID
role_id 角色ID
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

HTTP 200


删除库上的部门

POST /m-open/1/org/del_group HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID
group_id 部门ID
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

HTTP 200


修改库上部门的角色

POST /m-open/1/org/set_group_role HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID
group_id 部门ID
role_id 角色ID
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

HTTP 200


删除库

POST /m-open/1/org/destroy HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id - 库ID
org_client_id - 库授权, org_client_idorg_id 只需要传其中一个
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

HTTP 200


库日志

POST /m-open/1/org/log HTTP/1.1

请求参数

参数 必需 说明
client_id 企业授权管理中获得的client_id
org_id 库ID, 库ID库空间ID传了其中之一时, 只获取该库的操作日志
mount_id 库空间ID, 库ID库空间ID传了其中之一时, 只获取该库的操作日志
act 过滤操作, 不传默认返回所有操作, 多个操作用,分隔
orderby asc顺序, 默认desc倒序
start_dateline unix时间戳, 单位秒, 获取操作时间 >= start_dateline 的日志, 默认不限制
end_dateline unix时间戳, 单位秒, 获取操作时间 < end_dateline 的日志, 默认不限制
start 开始位置, 默认0
size 获取日志条数, 默认100, 最多返回1000
dateline 当前unix时间戳, 单位秒
sign 签名
act操作 说明
0 删除
1 创建或上传
2 重命名
3 编辑
4 移动
5 删除被恢复
6 版本还原
12 锁定
13 解锁
20 下载
21 预览
1014 生成外链
1015 访问外链
1016 外链文件下载
1017 外链文件保存到云库
1018 外链文件上传

返回结果

最多只会返回1000条

{
    "total": 总共匹配的日志条数,
    "list": [
        {
            "hash": "文件唯一ID",
            "dir": 0,
            "act": 1,
            "filehash": "文件内容hash",
            "filesize": 文件大小,
            "fullpath": "文件完整路径",
            "member_id": 操作人用户ID,
            "dateline": 操作时间, 单位秒,
            "act_name": "操作名称",
            "member_name": "操作人姓名(帐号)",
            "display_name": "操作人姓名",
            "member_account": "操作人帐号"
        },
        ...
    ]
}