文档访问 (7.0.0)

Download OpenAPI specification:Download

API to access AnyShare

如有任何疑问,可到开发者社区提问:https://developers.aishu.cn

Authentication

  • 调用需要鉴权的API,必须将token放在HTTP header中:"Authorization: Bearer ACCESS_TOKEN"
  • 对于GET请求,除了将token放在HTTP header中,也可以将token放在URL query string中:"tokenid=ACCESS_TOKEN"

配置查询

获取服务器配置信息 Deprecated

Responses

Response samples

Content type
application/json
{
  • "api_version": "6.0.8",
  • "auto_lock_remind": true,
  • "cad_plugin_threshold": 10485760,
  • "csf_level_enum": {
    },
  • "dualfactor_auth_server_status": {
    },
  • "enable_doc_comment": true,
  • "enable_doc_due_remind": false,
  • "enable_exit_pwd": false,
  • "enable_invitation_share": false,
  • "enable_limit_rate": false,
  • "enable_link_access_code": false,
  • "enable_message_notify": true,
  • "enable_secret_mode": false,
  • "enable_set_folder_security_level": true,
  • "enable_strong_pwd": false,
  • "entrydoc_view_config": 1,
  • "extapp": {
    },
  • "file_crawl_status": false,
  • "forbid_ostype": "166",
  • "https": false,
  • "id_card_login_status": false,
  • "internal_link_prefix": "AnyShare://",
  • "limit_rate_config": {
    },
  • "oemconfig": {
    },
  • "only_share_to_user": false,
  • "server_version": "6.0.7-20190722-3852",
  • "show_knowledge_page": 0,
  • "smtp_server_exists": true,
  • "strong_pwd_length": 8,
  • "tag_max_num": 30,
  • "third_pwd_modify_url": "",
  • "vcode_login_config": {
    },
  • "windows_ad_sso": {
    }
}

获取服务器配置信息

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
{
  • "csf_level_enum": {
    },
  • "internal_link_prefix": "AnyShare://",
  • "oemconfig": {
    },
  • "smtp_server_exists": true,
  • "tag_max_num": 30,
  • "only_share_to_user": true
}

获取配置信息

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
ostype
integer <int64>

设备类型

Responses

Request samples

Content type
application/json
{
  • "ostype": 1
}

Response samples

Content type
application/json
{
  • "cache": [
    ],
  • "detect_interval": 30,
  • "localsync": {
    },
  • "needquickstart": true
}

获取OEM配置信息

Request Body schema: application/json
required
section
required
string
Enum: "shareweb_en-us" "shareweb_zh-cn" "shareweb_zh-tw" "anyshare"

语言标签

Responses

Request samples

Content type
application/json
{
  • "section": "shareweb_zh-cn"
}

Response samples

Content type
application/json
{
  • "agreementText": "",
  • "android": "true",
  • "helper": "/download/help_AS_CN.pdf",
  • "ios": "true",
  • "office": "false",
  • "organization": "",
  • "product": "爱数 AnyShare",
  • "userAgreement": "false"
}

获取文件密级枚举

此接口返回的密级枚举是有序的,从低到高排列。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

登录设备管理

禁用设备

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
udid
required
string

设备唯一标识

Responses

Request samples

Content type
application/json
{
  • "udid": "12-34-56-78-90"
}

获取所有设备信息

此接口支持用户账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
{
  • "deviceinfos": [
    ]
}

启用设备

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
udid
required
string

设备唯一标识

Responses

Request samples

Content type
application/json
{
  • "udid": "12-34-56-78-90"
}

擦除缓存

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
udid
required
string

设备唯一标识

Responses

Request samples

Content type
application/json
{
  • "udid": "12-34-56-78-90"
}

获取设备状态(mobile)

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
udid
required
string

设备唯一标识

Responses

Request samples

Content type
application/json
{
  • "udid": "12-34-56-78-90"
}

Response samples

Content type
application/json
{
  • "eraseflag": 0,
  • "disableflag": 1
}

通知AnyShare缓存擦除成功(mobile)

query Parameters
userid
required
string

用户唯一标识

Request Body schema: application/json
required
udid
required
string

设备唯一标识

Responses

Request samples

Content type
application/json
{
  • "udid": "12-34-56-78-90"
}

用户查询

获取userid对应的用户信息

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
Example
{
  • "type": "user",
  • "needrealnameauth": true,
  • "userid": "e81bf6f8-8484-11e3-b4ef-5254000a13e9",
  • "account": "zgd@eisoo.com",
  • "name": "user01",
  • "mail": "zhou@qq.com",
  • "csflevel": 5,
  • "csflevel_name": "非密",
  • "leakproofvalue": 2,
  • "pwdcontrol": 1,
  • "usertype": 1,
  • "roletypes": [
    ],
  • "directdepinfos": [
    ],
  • "needsecondauth": true,
  • "freezestatus": false,
  • "agreedtotermsofuse": false,
  • "ismanager": true,
  • "telnumber": "123***",
  • "roleinfos": [
    ]
}

同意用户使用协议

此接口支持用户账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
{
  • "result": "ok"
}

获取用户基本信息

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
userid
required
string

用户唯一标识

Responses

Request samples

Content type
application/json
{
  • "userid": "617b35fc-8185-11e3-a3ba-5254000a13e9"
}

Response samples

Content type
application/json
{
  • "directdepinfos": [
    ]
}

部门查询

获取用户所能访问的根部门信息

此接口支持用户账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
{
  • "depinfos": [
    ]
}

获取子部门信息

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
depid
required
string

部门id

Responses

Request samples

Content type
application/json
{
  • "depid": "e4ce4aa0-8484-11e3-8a54-5254000a13e9"
}

Response samples

Content type
application/json
{
  • "depinfos": [
    ]
}

获取部门下的子用户信息

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
depid
required
string

部门id

Responses

Request samples

Content type
application/json
{
  • "depid": "e4ce4aa0-8484-11e3-8a54-5254000a13e9"
}

Response samples

Content type
application/json
{
  • "userinfos": [
    ]
}

在组织下搜索用户和部门信息

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
key
required
string

关键字

start
integer <int64>

分页开始号,从0开始

limit
integer <int64>

条数,表示取多少用户或部门,-1表示不限制

Responses

Request samples

Content type
application/json
{
  • "key": "abc",
  • "start": 0,
  • "limit": 10
}

Response samples

Content type
application/json
{
  • "userinfos": [
    ],
  • "depinfos": [
    ]
}

在组织下搜索获取搜索数目

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
key
required
string

关键字

Responses

Request samples

Content type
application/json
{
  • "key": "as"
}

Response samples

Content type
application/json
{
  • "count": 7
}

获取部门基本信息

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
depid
required
string

部门id

Responses

Request samples

Content type
application/json
{
  • "depid": "151bcb65-48ce-4b62-973f-0bb6685f9cb8"
}

Response samples

Content type
application/json
{
  • "name": "组织结构",
  • "path": ""
}

联系人管理

获取所有联系人分组

此接口支持用户账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ]
}

获取分组下所有联系人

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
groupid
required
string

分组id

Responses

Request samples

Content type
application/json
{
  • "groupid": "e4ce4aa0-8484-11e3-8a54-5254000a13e9"
}

Response samples

Content type
application/json
{
  • "userinfos": [
    ]
}

在联系人组搜索用户和联系人组信息

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
key
required
string

关键字

start
integer <int64>

分页开始号,从0开始

limit
integer <int64>

条数,表示取多少联系人,-1表示不限制

Responses

Request samples

Content type
application/json
{
  • "key": "abc",
  • "start": 0,
  • "limit": 10
}

Response samples

Content type
application/json
{
  • "userinfos": [
    ],
  • "groups": [
    ]
}

添加联系人组

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
groupname
required
string

新建联系人组名称

Responses

Request samples

Content type
application/json
{
  • "groupname": "abc"
}

Response samples

Content type
application/json
{
  • "groupid": "cc75af56-2378-11e8-b259-005056af48ce"
}

删除联系人组

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
groupid
required
string

联系人组唯一标识

Responses

Request samples

Content type
application/json
{
  • "groupid": "cc75af56-2378-11e8-b259-005056af48ce"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

编辑联系人组

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
groupid
required
string

联系人组唯一标识

newname
required
string

联系人组新名称

Responses

Request samples

Content type
application/json
{
  • "groupid": "cc75af56-2378-11e8-b259-005056af48ce",
  • "newname": "efg"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

添加联系人至联系人组

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
groupid
required
string

联系人组唯一标识

userids
required
Array of strings

待添加的联系人id

Responses

Request samples

Content type
application/json
{
  • "groupid": "cc75af56-2378-11e8-b259-005056af48ce",
  • "userids": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

删除联系人组中的联系人

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
groupid
required
string

联系人组唯一标识

userids
required
Array of strings

待添加的联系人id

Responses

Request samples

Content type
application/json
{
  • "groupid": "cc75af56-2378-11e8-b259-005056af48ce",
  • "userids": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

获取联系人组中的联系人

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
groupid
required
string

联系人组唯一标识

start
required
integer <int64>

分页开始号,从0开始

limit
required
integer <int64>

条数,表示取多少联系人,-1表示不限制

Responses

Request samples

Content type
application/json
{
  • "groupid": "cc75af56-2378-11e8-b259-005056af48ce",
  • "start": 0,
  • "limit": -1
}

Response samples

Content type
application/json
{
  • "userinfos": [
    ]
}

搜索用户和联系人组信息总数

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
key
required
string

关键字

Responses

Request samples

Content type
application/json
{
  • "key": "as"
}

Response samples

Content type
application/json
{
  • "count": 10
}

搜索联系人组中的联系人

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
key
required
string

关键字

Responses

Request samples

Content type
application/json
{
  • "key": "liu"
}

Response samples

Content type
application/json
{
  • "userinfos": [
    ]
}

用户组查询

组和组成员的关键字搜索

此接口支持用户账户调用。

Authorizations:
OAuth2.0
query Parameters
keyword
required
string

搜索内容。即用户组名或者成员名

type
required
Array of strings
Items Enum: "member" "group"

搜索信息类型:

  • member 搜索成员信息
  • group 搜索用户组信息
offset
integer <int64> >= 0
Default: 0

获取数据起始下标

limit
integer <int64> [ 1 .. 1000 ]
Default: 20

获取数据量

Responses

Response samples

Content type
application/json
{
  • "members": {
    },
  • "groups": {
    }
}

组列举

此接口支持用户账户调用。

Authorizations:
OAuth2.0
query Parameters
offset
integer <int64> >= 0
Default: 0

获取数据起始下标

limit
integer <int64> [ 1 .. 1000 ]
Default: 20

获取数据量

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ],
  • "total_count": 70
}

组成员列举

此接口支持用户账户调用。

Authorizations:
OAuth2.0
path Parameters
id
required
string

组ID 组的唯一标识

query Parameters
offset
integer <int64> >= 0
Default: 0

获取数据起始下标

limit
integer <int64> [ 1 .. 1000 ]
Default: 20

获取数据量

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ],
  • "total_count": 65
}

所有者管理

检查是否是所有者

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926"
}

Response samples

Content type
application/json
{
  • "isowner": true
}

添加所有者

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

userids
required
Array of strings

用户的id数组

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926",
  • "userids": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

获取所有者

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926"
}

Response samples

Content type
application/json
{
  • "ownerinfos": [
    ]
}

删除所有者

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

userids
required
Array of strings

用户的id数组

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926",
  • "userids": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

设置所有者

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

required
Array of objects (OwnerSetReqUserconfig)

所有者数组

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926",
  • "userconfigs": [
    ]
}

Response samples

Content type
application/json
{
  • "result": 0,
  • "low_csf_level_users": [
    ]
}

权限管理

获取权限配置

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://E0529377F00D4F3295C87E7D83E923C7/0EDC731927D6441DA891C3FD922279FC/BEFFFD6967DC454B804AA7D8EACE7694"
}

Response samples

Content type
application/json
{
  • "perminfos": [
    ],
  • "inherit": true
}

检查单个权限

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

perm
required
string
Enum: "display" "preview" "download" "create" "modify" "delete" "cache" "internal_sharing" "external_sharing" "print"

允许权限

  • display 显示
  • preview 预览
  • download 下载
  • create 新建
  • modify 修改
  • delete 删除
  • cache 缓存
  • internal_sharing 内部共享
  • external_sharing 外部共享
  • print 打印

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926",
  • "perm": "display"
}

Response samples

Content type
application/json
{
  • "result": 1,
  • "error": {
    }
}

展示各访问者的最终权限

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926"
}

Response samples

Content type
application/json
{
  • "permresults": [
    ],
  • "ownerresults": [
    ]
}

检查所有权限

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926"
}

Response samples

Content type
application/json
{
  • "allowvalue": [
    ],
  • "allow": [
    ],
  • "denyvalue": [
    ],
  • "deny": [
    ],
  • "policy": {
    }
}

获取用户已共享的文档

此接口支持用户账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
{
  • "docinfos": [
    ]
}

设置权限配置

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

required
Array of objects (Perm2SetReqPerminfo)

权限配置条目数组

inherit
required
boolean

启用继承:true,上级所有权限均继承 禁用继承:false,上级所有权限均不继承

send_message
boolean

是否发送共享消息,该字段只能应用账户传入
该字段不传时默认为true,发送消息

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926",
  • "perminfos": [
    ],
  • "inherit": true
}

Response samples

Content type
application/json
{
  • "result": 1
}

文档属性权限配置

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
path Parameters
property_ids
required
string
Examples:
  • 980956722C1340C9BC73C7E24921D6A5.category_template.template_1kc6cwyg05n.field_esb8o2vpni -

属性唯一标识ID,和Body中数组的property_id格式和顺序保持一致

Request Body schema: application/json
required
Array
property_id
required
string

属性唯一标识ID,格式:object_id.key1.key2.key3.xxx.keyn, 属性ID至少为object_id.key1

编目属性格式:objectID.category_template.scope.category_template_id.key_id

示例:980956722C1340C9BC73C7E24921D6A5.category_template.aishu.template_1kc6cwyg05n.field_esb8o2vpni

文档的所有编目 980956722C1340C9BC73C7E24921D6A5.category_template

多个唯一标识的objectID必须相同

required
Array of objects (DocPropertiesConfigs)

权限配置条目数组

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

获取文档属性权限配置

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
path Parameters
property_ids
required
string
Examples:
  • 980956722C1340C9BC73C7E24921D6A5.category_template.template_1kc6cwyg05n.field_esb8o2vpni -

属性唯一标识ID,格式:object_id.key1.key2.key3.xxx.keyn, 属性ID至少为object_id.key1

编目属性格式:objectID.category_template.scope.category_template_id.key_id

示例:980956722C1340C9BC73C7E24921D6A5.category_template.aishu.template_1kc6cwyg05n.field_esb8o2vpni

文档的所有编目 980956722C1340C9BC73C7E24921D6A5.category_template

多个唯一标识的objectID必须相同

Responses

Response samples

Content type
application/json
[
  • {
    }
]

设置权限接口

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
path Parameters
object_id
required
string
Examples:
  • DED18AD77A2849509DB0A7F6BAA58926 -

文档的object_id, 例如: DED18AD77A2849509DB0A7F6BAA58926

Request Body schema: application/json
required
required
Array of objects (SetDocPermConfig)
inherit
required
boolean

启用继承:true,上级所有权限均继承 禁用继承:false,上级所有权限均不继承

send_message
boolean

是否发送共享消息,该字段只能应用账户传入
该字段不传时默认为true,发送消息

Responses

Request samples

Content type
application/json
{
  • "configs": [
    ],
  • "inherit": false
}

Response samples

Content type
application/json
{
  • "low_csf_level_users": [
    ]
}

添加权限接口

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
doc_id
required
string

文档唯一标识

required
Array of objects (DocPermConfig)
send_message
boolean

是否发送共享消息,该字段只能应用账户传入
该字段不传时默认为true,发送消息

Responses

Request samples

Content type
application/json
{
  • "doc_id": "gns://DED18AD77A2849509DB0A7F6BAA58926",
  • "configs": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

删除权限接口

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
method
required
string
Value: "DELETE"

方法

doc_id
required
string

文档唯一标识

required
Array of objects (DeleteDocPermConfig)
send_message
boolean

是否发送共享消息,该字段只能应用账户传入
该字段不传时默认为true,发送消息

Responses

Request samples

Content type
application/json
{
  • "method": "DELETE",
  • "doc_id": "gns://DED18AD77A2849509DB0A7F6BAA58926",
  • "configs": [
    ]
}

Response samples

Content type
application/json

以下原因均会导致该错误

  • 未提供必须参数
  • 参数类型错误
  • 参数结构不正确
  • 枚举不存在
  • 参数值不符合要求
{
  • "cause": "...",
  • "code": 400000000,
  • "message": "非法参数"
}

检查文档属性操作权限

此接口支持用户账户调用。

Authorizations:
OAuth2.0
query Parameters
property_id
required
string
Examples:
  • property_id=980956722C1340C9BC73C7E24921D6A5.category_template.template_1kc6cwyg05n.field_esb8o2vpni -

属性唯一标识ID,格式:object_id.key1.key2.key3.xxx.keyn, 属性ID至少为object_id.key1

编目属性格式:objectID.category_template.scope.category_template_id.key_id

示例:980956722C1340C9BC73C7E24921D6A5.category_template.aishu.template_1kc6cwyg05n.field_esb8o2vpni

文档的所有编目 980956722C1340C9BC73C7E24921D6A5.category_template

operation
required
Array of strings
Items Value: "modify"

操作:(目前只支持修改)

  • modify 修改

例如

  • operation=modify
    (表示检查修改)

Responses

Response samples

Content type
application/json
{
  • "result": true
}

获取共享文档开关配置

此接口支持用户账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
{
  • "enable_user_doc_inner_link_share": true,
  • "enable_user_doc_out_link_share": true,
  • "enable_user_doc_property_share": false,
  • "show_low_csf_level_user_notice": false
}

查看读取策略配置

此接口支持用户账户调用。

查看读取策略

Authorizations:
OAuth2.0
query Parameters
id
required
string

对象id,可以是文档库、目录或文件

doc_lib_type
required
string
Enum: "user_doc_lib" "department_doc_lib" "custom_doc_lib"

文档库类型

accessed_type
required
string
Enum: "accessed_by_users" "accessed_by_anyone"

访问类型

  • accessed_by_users实名访问
  • accessed_by_anyone匿名访问

Responses

Response samples

Content type
application/json
[
  • "watermark_sub_document",
  • "encryption_sub_document"
]

创建实名

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
required
object (AddItemInfoDocumentRealname)

Responses

Request samples

Content type
application/json
{
  • "item": {
    }
}

Response samples

Content type
application/json
{
  • "id": "0447467D1ED4496DA73CA16476FFF787"
}

创建匿名

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
required
object (AddItemInfoDocumentAnonymous)
title
required
string

SharedLink标题

expires_at
required
string <date-time>

到期时间的时间戳(秒级),RFC3339格式,UNIX TIME时间纪元(1970-01-01 00:00:00)表示永久有效

password
required
string

SharedLink访问密码

verify_mobile
required
boolean

手机验证

limited_times
required
integer <int64>

SharedLink限制打开次数,-1表示不限制

pin_version
required
boolean

是否固定版本

Responses

Request samples

Content type
application/json
{
  • "item": {
    },
  • "title": "共享1",
  • "expires_at": "2020-12-12T10:53:43+08:00",
  • "password": "",
  • "verify_mobile": false,
  • "limited_times": -1,
  • "pin_version": true
}

Response samples

Content type
application/json
{
  • "id": "0447467D1ED4496DA73CA16476FFF787"
}

列举

此接口支持用户账户应用账户调用。

列举对象上的SharedLink

Authorizations:
OAuth2.0
path Parameters
item_type
required
string
Enum: "file" "folder"

被共享对象类型

item_id
required
string

被共享对象的唯一标识

query Parameters
type
string
Enum: "realname" "anonymous"

待获取的SharedLink类型, 不指定则获取所有类型。

  • realname 实名共享
  • anonymous 匿名共享
offset
integer <int64> >= 0
Default: 0

获取数据起始下标

limit
integer <int64> [ 1 .. 1000 ]
Default: 20

获取数据量

Responses

Response samples

Content type
application/json
Example
[
  • {
    }
]

我的共享

获取共享给实名用户的文档

此接口支持用户账户调用。

Authorizations:
OAuth2.0
query Parameters
offset
integer <int64> >= 0
Default: 0

获取数据起始下标

limit
integer <int64> [ 1 .. 1000 ]
Default: 20

获取数据量

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ],
  • "total_count": 70
}

获取共享给匿名用户的文档

此接口支持用户账户调用。

Authorizations:
OAuth2.0
query Parameters
offset
integer <int64> >= 0
Default: 0

获取数据起始下标

limit
integer <int64> [ 1 .. 1000 ]
Default: 20

获取数据量

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ],
  • "total_count": 70
}

文件锁管理

锁定文件

此接口支持用户账户应用账户调用。

文件只能被一个具有写权限的用户锁定。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件id

force
boolean

是否强制获取锁,默认为false false:不强制获取锁 true:强制获取锁

expiretime
integer <int64>

文件锁有效期限,时间戳,单位:微秒

  • 不传时使用服务器可配置的超期间隔进行定期清理
  • -1:永久有效
  • 大于0:到达设定时间清理锁,至少大于当前时间

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926",
  • "force": true,
  • "expiretime": -1
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

尝试锁定文件

此接口支持用户账户应用账户调用。

trylock时文件未锁定,则锁定文件;文件已被锁定时,返回锁定者的信息。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件id

force
boolean

是否强制获取锁,默认为false false:不强制获取锁 true:强制获取锁

expiretime
integer <int64>

文件锁有效期限,时间戳,单位:微秒

  • 不传时使用服务器可配置的超期间隔进行定期清理
  • -1:永久有效
  • 大于0:到达设定时间清理锁,至少大于当前时间

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926",
  • "force": true,
  • "expiretime": -1
}

Response samples

Content type
application/json
{
  • "issucceed": false,
  • "lockerid": "fd40b9f2-91e4-11e3-9466-5254000a13e9",
  • "lockertype": "user",
  • "lockeraccount": "欢欢",
  • "lockername": "欢儿"
}

刷新文件锁

此接口支持用户账户应用账户调用。

刷新文件锁的最后访问时间。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
lockinfos
required
Array of strings

待刷新的文件锁信息

expiretime
integer <int64>

文件锁有效期限,时间戳,单位:微秒

  • 不传时使用服务器可配置的超期间隔进行定期清理
  • -1:永久有效
  • 大于0:到达设定时间清理锁,至少大于当前时间

Responses

Request samples

Content type
application/json
{
  • "lockinfos": [
    ],
  • "expiretime": -1
}

Response samples

Content type
application/json
{
  • "lockinfos": [
    ]
}

解锁文件

此接口支持用户账户应用账户调用。

只有锁定文件的用户才能对文件解锁

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件id

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

获取文件锁信息

此接口支持用户账户应用账户调用。

备注:只有在文件被锁定的情况下,才会返回有效的lockerid、lockeraccount、 lockname等信息。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件id

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926"
}

Response samples

Content type
application/json
{
  • "islocked": true,
  • "lockerid": "fd40b9f2-91e4-11e3-9466-5254000a13e9",
  • "lockertype": "user",
  • "lockeraccount": "欢欢",
  • "lockername": "欢儿",
  • "lockersource": "user"
}

获取文件夹锁信息

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件id

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://DED18AD77A2849509DB0A7F6BAA58926"
}

Response samples

Content type
application/json
{
  • "islocked": true
}

获取当前用户锁信息

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
start
integer <int64>

开始位置,默认为0

limit
integer <int64>

分页条数,默认为-1,返回start后面的所有记录

name
string

按照文件名查找,默认为空,不进行过滤

locker
string

按照锁定者查找,默认为空,不进行过滤

link
string

按照共享链接查找,默认为空,不进行过滤

Responses

Request samples

Response samples

Content type
application/json
{
  • "docinfos": [
    ]
}

入口文档库

获取文档库信息

此接口支持用户账户应用账户调用。

根据QUERY PARAMETERS参数获取相应类型的文档库的信息。

Authorizations:
OAuth2.0
query Parameters
type
Array of strings
Items Enum: "user_doc_lib" "department_doc_lib" "custom_doc_lib" "shared_user_doc_lib" "knowledge_doc_lib"

文档库类型。不传时获取所有类型文档库

  • user_doc_lib:个人文档库
  • department_doc_lib:部门文档库
  • custom_doc_lib:自定义文档库
  • shared_user_doc_lib: 共享个人文档库
  • knowledge_doc_lib: 知识库
sort
string
Enum: "doc_lib_name" "date_modified" "creator_name" "modifier_name" "create_time"

排序类型。不传时默认为doc_lib_name

  • doc_lib_name:文档库名称
  • date_modified:修改时间
  • creator_name:创建者名称
  • modifier_name:修改者名称
  • create_time:创建时间
direction
string
Enum: "asc" "desc"

排序结果方向。不传时默认为asc

  • asc:升序
  • desc:降序
subtype_id
string

自定义文档库子类id,与 custom_type_id 互斥。subtype_id 和 custom_type_id 均不传时不以文档库分类对文档库进行筛选。 当前仅自定义文档库有文档库分类

custom_type_id
string

文档库自定义类型id,与 subtype_id 互斥。subtype_id 和 custom_type_id 均不传时不以文档库分类对文档库进行筛选。 当前仅自定义文档库有文档库分类

template_key
string

编目模板key,不传时表示不获取编目信息

scope
string

业务系统key,不传时表示不获取编目信息

need_tag
boolean

是否要获取标签信息,默认为false

  • false 不获取
  • true 获取
show_department_hierarchy
boolean

部门文档库层级展示,默认为false

  • false 平铺展示
  • true 层级展示

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取文档库信息 升级版

此接口为/efast/v1/entry-doc-lib的升级版。支持用户账户应用账户调用。

根据QUERY PARAMETERS参数获取相应类型的文档库的信息。

支持多编目模板

Authorizations:
OAuth2.0
query Parameters
type
Array of strings
Items Enum: "user_doc_lib" "department_doc_lib" "custom_doc_lib" "shared_user_doc_lib" "knowledge_doc_lib"

文档库类型。不传时获取所有类型文档库

  • user_doc_lib:个人文档库
  • department_doc_lib:部门文档库
  • custom_doc_lib:自定义文档库
  • shared_user_doc_lib: 共享个人文档库
  • knowledge_doc_lib: 知识库
sort
string
Enum: "doc_lib_name" "date_modified" "creator_name" "modifier_name" "create_time"

排序类型。不传时默认为doc_lib_name

  • doc_lib_name:文档库名称
  • date_modified:修改时间
  • creator_name:创建者名称
  • modifier_name:修改者名称
  • create_time:创建时间
direction
string
Enum: "asc" "desc"

排序结果方向。不传时默认为asc

  • asc:升序
  • desc:降序
subtype_id
string

自定义文档库子类id,与 custom_type_id 互斥。subtype_id 和 custom_type_id 均不传时不以文档库分类对文档库进行筛选。 当前仅自定义文档库有文档库分类

custom_type_id
string

文档库自定义类型id,与 subtype_id 互斥。subtype_id 和 custom_type_id 均不传时不以文档库分类对文档库进行筛选。 当前仅自定义文档库有文档库分类

template_keys
Array of strings

将原efast版template_key数组化以支持多模板,上限10个。必须按顺序和scopes一一对应

scopes
Array of strings

将原efast版scope数组化以支持多模板,上限10个。必须按顺序和template_keys一一对应

need_tag
boolean

是否要获取标签信息,默认为false

  • false 不获取
  • true 获取
show_department_hierarchy
boolean

部门文档库层级展示,默认为false

  • false 平铺展示
  • true 层级展示

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取匿名用户入口文档

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取用户管理的文档库

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

获取指定文档库配额

此接口支持用户账户调用。

Authorizations:
OAuth2.0
path Parameters
id
required
string
Examples:
  • gns://E0297644880D4B6F956F3DFC28896FFE -

文档库id

Responses

Response samples

Content type
application/json
{
  • "allocated": 15646456,
  • "used": 124544
}

获取用户配额

此接口支持用户账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
{
  • "allocated": 15646456,
  • "used": 124544
}

获取被分类的文档库信息

此接口支持用户账户应用账户调用。

排序规则:

  • 大类信息以其下文档库类型排序:个人文档库->共享个人文档库->部门文档库->自定义文档库->知识库
  • 子类(文档库分类)信息以分类的创建时间先后顺序排序
Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

屏蔽文档库

获取屏蔽文档库

Authorizations:
OAuth2.0
query Parameters
offset
integer <int64> >= 0
Default: 0

获取数据起始下标

limit
integer <int64> [ 1 .. 1000 ]
Default: 20

获取数据量

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ],
  • "total_count": 0
}

添加屏蔽文档库

Authorizations:
OAuth2.0
Request Body schema: application/json
required
Array
id
required
string

文档库的object_id, 例如: 1D0AA9C52CA4491ABC8FBC410A50B640

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json

以下原因均会导致该错误

  • 未提供必须参数
  • 参数类型错误
  • 参数结构不正确
  • 枚举不存在
  • 参数值不符合要求
{
  • "cause": "...",
  • "code": 400000000,
  • "message": "非法参数"
}

删除屏蔽文档库

Authorizations:
OAuth2.0
path Parameters
ids
required
string
Examples:
  • 1A0AA9C52CA4491ABC8FBC410A50B640,3E6546A3C27A491B91F044BBC9723324 -

待删除的多个文档库的object_id,用逗号分隔

Responses

Response samples

Content type
application/json

以下原因均会导致该错误

  • 未提供必须参数
  • 参数类型错误
  • 参数结构不正确
  • 枚举不存在
  • 参数值不符合要求
{
  • "cause": "...",
  • "code": 400000000,
  • "message": "非法参数"
}

目录

创建目录协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

待创建目录的父目录gns路径

name
required
string

目录名称,UTF8编码

csflevel
integer <int64>

文件夹密级,仅涉密版本&文件夹属性审核开关开启时有效

space_quota
integer <int64>

配额空间,仅涉密版本&文件夹属性审核开关开启时有效

Array of objects

允许上传的文档格式,仅涉密版本&文件夹属性审核开关开启时有效

ondup
integer <int64>

重名冲突处理策略,默认为2

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名
  • 3:如果重名冲突,自动覆盖

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4",
  • "csflevel": 5,
  • "space_quota": 1024,
  • "name": "dir",
  • "allow_suffix_doc": [
    ]
}

Response samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "rev": "9b499ef7-e055-4567-b772-a43dd3f0da4d",
  • "modified": 1380502294452719,
  • "create_time": 1380502294452719,
  • "creator": "001",
  • "editor": "001"
}

创建多级目录协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

待创建多级目录的父目录gns路径

path
required
string

多级目录名称,UTF8编码

Responses

Request samples

Content type
application/json
{
  • "docid": " gns://3986CEC7BF81411386F31013D16FECCD",
  • "path": "aa/bb"
}

Response samples

Content type
application/json
{
  • "docid": " gns://3986CEC7BF81411386F31013D16FECCD/6BC3BEF82CB44CCDAAE823700AC593C6/536C165AB28B41D7B3C7899C4EFB0187",
  • "rev": "fb8bd45a-cc2f-4f0a-af7e-347a0ad53f5e",
  • "modified": 1472279588858216
}

删除目录协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

要删除的目录gns路径

check_upload_process
boolean

是否检查子对象上传处理状态

  • true: 默认值,当子对象处于待处理或处理中状态时,报错
  • false: 不检查

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "check_upload_process": true
}

Response samples

Content type
application/json
{
  • "isdirexist": false
}

重命名目录协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

要重命名的目录的gns路径

name
required
string

该目录的新名称,UTF8编码

ondup
integer <int64>

重名冲突处理策略,默认为2

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名

Responses

Request samples

Content type
application/json
Example
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "name": "dir_new"
}

Response samples

Content type
application/json
Example
{ }

浏览目录协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

要浏览的目录的gns路径

by
string

指定按哪个字段排序

若不指定,默认按docid升序排序

说明:

  • name,按文件名称(中文按拼音)排序
  • size,按大小排序(目录按name升序)
  • time,按服务器修改时间排序
  • creator_name,按创建者名称(中文按拼音)排序
  • editor_name,按编辑者名称(中文按拼音)排序
  • create_time,按创建时间排序
sort
string

升序还是降序,默认为升序

说明:

  • asc,升序
  • desc,降序
attr
boolean

默认为false,即不获取文件或者目录属性信息

为true时,则获取文件或者目录属性信息

object

获取文件/目录编目信息

need_tag
boolean

是否要获取文件/目录标签信息,默认为false

  • false 不获取
  • true 获取

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4"
}

Response samples

Content type
application/json
{
  • "dirs": [
    ],
  • "files": [
    ]
}

移动目录协议

此接口支持用户账户应用账户调用。

  1. 无法移动到原位置(指定目标父对象为待移动对象的父对象);
  2. 无法移动到原位置的子对象下;
Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

要移动的目录gns路径

destparent
required
string

目标父对象的gns路径

ondup
integer <int64>

重名冲突处理策略,默认为2

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名
  • 3:如果重名冲突,自动覆盖
new_name
string

编辑后的新名称

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "destparent": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/4283DE754B2A4261A2A59B9812D8C682"
}

Response samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/4283DE754B2A4261A2A59B9812D8C682/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "isdirexist": false
}

复制目录协议

此接口支持用户账户应用账户调用。

无法复制到原位置的子目录下

Authorizations:
OAuth2.0
header Parameters
X-AS-Authorization
string

扩展token,仅在拷贝匿名共享数据时需要增加此报头,value为匿名账户的token,token类型为Bearer Token。

x-subscriber-id
string

订阅者ID,仅在客户端订阅复制目录进度事件时需要增加此报头,value匹配WebSocket连接响应Header中的x-subscriber-id。

Request Body schema: application/json
required
docid
required
string

要复制的目录gns路径

destparent
required
string

目标父对象的gns路径

ondup
integer <int64>

重名冲突处理策略,默认为2

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名
  • 3:如果重名冲突,自动覆盖

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "destparent": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/4283DE754B2A4261A2A59B9812D8C682"
}

Response samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/4283DE754B2A4261A2A59B9812D8C682/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "name": "test (1)",
  • "id": "99326FF8-B2F3-42d3-B9F3-C7B3A3C2289B"
}

复制目录进度查询协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
id
required
string

复制任务的id

Responses

Request samples

Content type
application/json
{
  • "id": "99326FF8-B2F3-42d3-B9F3-C7B3A3C2289B"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "status": "failed",
  • "file_scanning": "string",
  • "time_remaining": 5,
  • "filecount": 20,
  • "dircount": 2,
  • "filecopied": 12,
  • "dircopied": 1,
  • "size": 5215698,
  • "sizecopied": 2150485,
  • "filecopying": "test.jpg",
  • "source": "source",
  • "destination": "test",
  • "error": {
    }
}

获取创建目录的建议名称

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

父目录的gns路径

name
required
string

UTF-8编码,要上传的目录名

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "name": "test_dir_name"
}

Response samples

Content type
application/json
{
  • "name": "test_dir_name"
}

获取目录属性协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

目录gns路径(列举协议返回)

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://CD8903446C9E4373B38126300F7E4865/2CF8B53528FC4921BD9AE7BA261CFFAC"
}

Response samples

Content type
application/json
{
  • "create_time": 1380245084296354,
  • "creator": "user1",
  • "modified": 1480245084296354,
  • "id": "gns://CD8903446C9E4373B38126300F7E4865/2CF8B53528FC4921BD9AE7BA261CFFAC",
  • "name": "dir2",
  • "rev": "23A7CBAFE45B4E4D884DC59805E60A5C",
  • "created_at": "2023-04-12T01:37:24Z",
  • "modified_at": "2023-04-12T01:37:24Z",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "doc_lib": {
    }
}

获取目录大小协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

目录/文件gns路径(列举协议返回)

onlyrecycle
boolean
  • 默认为false
  • 对于非顶级目录,参数onlyrecycle无影响
  • 对顶级目录: 如果为false,统计整个顶级目录的大小;如果为true,只统计其中回收站的大小

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4"
}

Response samples

Content type
application/json
{
  • "dirnum": 2,
  • "filenum": 10,
  • "recyclesize": 12345,
  • "totalsize": 123456
}

设置目录密级

此接口支持用户账户应用账户调用。

目录没有密级,该协议将目录及子目录下所有文件设置为指定的密级,但无法应用到高于操作者自身密级的文件

Authorizations:
OAuth2.0
Request Body schema: application/json
required
csflevel
required
integer <int64>

文件密级:5~15

docid
required
string

目录gns路径(列举协议返回)

Responses

Request samples

Content type
application/json
{
  • "csflevel": 5,
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C"
}

Response samples

Content type
application/json
{
  • "result": 0
}

分页列举目录

此接口支持用户账户应用账户调用。旧接口,只支持单编目模板,为兼容性保留

Authorizations:
OAuth2.0
path Parameters
id
required
string

目录gns(支持文档库gns)

query Parameters
limit
required
integer

当次调用接口的最大列举数,范围(0, 10000),推荐值1000

marker
string
Examples:
  • marker=4oCcbmFtZTEsMjFBOUI5RkQxQjUyNENCNDlENTRCRjczOTlGODJFQjQsZGly4oCd -

分页标记,由上次调用该接口成功后返回。首次调用不传

sort
string
Enum: "name" "size" "time"

第一次调用时可传,后续调用不传。指定按哪个字段排序(若不指定,默认按id升序排序):

  • name, 按文件名称排序
  • size,按大小排序
  • time,按服务器修改时间排序
direction
string
Enum: "asc" "desc"

第一次调用时可传,后续调用不传,默认为升序

  • asc,升序
  • desc,降序
catalog_template_key
string

获取文件/目录编目信息模板的key,必须和catalog_scope同时设置

catalog_scope
string

获取文件/目录编目信息业务系统的key,必须和catalog_template_key同时设置

need_tag
string

是否要获取文件/目录标签信息,默认为false

perm
string
Value: "preview"

只返回具有特定权限的子对象,非必填

  • preview 只返回具有预览权限的子对象

Responses

Response samples

Content type
application/json
{
  • "dirs": [
    ],
  • "files": [
    ],
  • "doc_lib": {
    },
  • "next_marker": "4oCcbmFtZTIsMjFBOUI5RkQxQjUyNENCNDlENTRCRjczOTlGODJFQjYsZmlsZeKAnQ=="
}

分页列举目录 升级版

此接口为/efast/v1/folders/{id}/sub_objects的升级版。支持用户账户应用账户调用。支持多编目模板

Authorizations:
OAuth2.0
path Parameters
id
required
string

目录gns(支持文档库gns)

query Parameters
limit
required
integer

当次调用接口的最大列举数,范围(0, 10000),推荐值1000

marker
string
Examples:
  • marker=4oCcbmFtZTEsMjFBOUI5RkQxQjUyNENCNDlENTRCRjczOTlGODJFQjQsZGly4oCd -

分页标记,由上次调用该接口成功后返回。首次调用不传

sort
string
Enum: "name" "size" "time"

第一次调用时可传,后续调用不传。指定按哪个字段排序(若不指定,默认按id升序排序):

  • name, 按文件名称排序
  • size,按大小排序
  • time,按服务器修改时间排序
direction
string
Enum: "asc" "desc"

第一次调用时可传,后续调用不传,默认为升序

  • asc,升序
  • desc,降序
catalog_template_keys
Array of strings

将原efast版catalog_template_key数组化以支持多模板,上限10个。必须按顺序和catalog_scopes一一对应

catalog_scopes
Array of strings

将原efast版catalog_scope数组化以支持多模板,上限10个。必须按顺序和catalog_template_keys一一对应

need_tag
string

是否要获取文件/目录标签信息,默认为false

perm
string
Value: "preview"

只返回具有特定权限的子对象,非必填

  • preview 只返回具有预览权限的子对象

Responses

Response samples

Content type
application/json
{
  • "dirs": [
    ],
  • "files": [
    ],
  • "doc_lib": {
    },
  • "next_marker": "4oCcbmFtZTIsMjFBOUI5RkQxQjUyNENCNDlENTRCRjczOTlGODJFQjYsZmlsZeKAnQ=="
}

文件上传下载

文件上传流程

文件上传分为两种,分别为单次上传文件和分块上传文件。其中,单块上传文件最大支持上传5G的文件。需要上传大于5G的文件时,必须采用分块上传的流程。

建议内网环境文件大于100M时,或者外网环境采用分块上传。作为参考值,可以选用4M大小的文件分块,即将文件分成4M的数据块分别上传,最终组成一个完整的文件,最后一块的大小可以是分块时余下的文件大小,不作其它限制。

单次上传文件流程:

signle-upload-flow

  1. 需要调用协议 osbeginupload和osendupload。

  2. 由osbeginupload协议返回的鉴权request,向对象存储服务发送数据的方法,请参考osbeginupload的请求返回示例和说明。

分块上传文件流程:

multi-upload-flow

  1. 需要调用协议osinitmultiupload、osuploadpart、oscompleteupload和osendupload。

  2. 由osuploadpart(oscompleteupload)协议返回的鉴权request,向对象存储服务发送数据(索引文件)的方法,请参考osbeginupload的请求返回示例和说明。

对象存储差异说明

文档云可对接使用不同的对象存储,各个对象存储的请求处理响应存在一些差异,需客户端对接时注意,主要包括:

  1. 不同对象存储分块上传的分块大小和块数,可能不同。分块上传前,需调用osoption协议,获取对象存储分块选项值。只要云盘使用的对象存储没有变更,该协议的返回值不变,无需重复调用。客户端可将该协议的返回值,参数化到上传逻辑中,用于确定分块大小及块数。

  2. 上传对象到对象存储成功,包括单次上传对象成功,和上传文件分块成功,各个对象存储返回的HTTP状态码可能不同,比如返回200或201。可以认为:只要上传、下载请求的对象存储响应HTTP状态码在[200,299]之间,都认为请求成功。

  3. 分块上传时,先上传文件各个分块,再上传由分块信息组成的索引文件,以此在对象存储中组成一个完整文件。分块信息一般包括分块大小,以及对象存储在分块上传成功时返回的响应header中,Etag/ETAG/ETag/etag的值(如果这些header都没有,直接使用空字符串)。其差异和处理方式,详见上传大文件分块协议的说明。

下载文件协议

此接口支持用户账户应用账户调用。

  1. 收到请求响应时,客户端自行向对象存储发送下载文件内容的请求
  2. 如果authtype为空,则按照下面的方式下载,15分钟内发送GET请求 URL为:https://s3-ap-northeast-1.amazonaws.com/anyshares3accesstestbucket/21A9B9FD1B524CB49D54BF7399F82EB4/AAA6CBAFE45B4E4D884DC59805E60A5C Header包含: “Authorization: AWS AKIAJEROARV2UTTADY6A:PkLXjvYrDGDVZgTD8WVbMmS33q4=” “Date: Tue, 07 Apr 2015 02:35:36 GMT” Body为:空
  3. 如果authtype为QUERY_STRING,则按照下面的方式下载,15分钟内发送GET请求 URL为:https://s3-ap-northeast-1.amazonaws.com/anyshares3accesstestbucket/21A9B9FD1B524CB49D54BF7399F82EB4/AAA6CBAFE45B4E4D884DC59805E60A5C?AWSAccessKeyId=AKIAJEROARV2UTTADY6A&Expires=1428384700&Signature=lnOy3CUh9KNknNDX8aB8Mhur7%2Bw%3D
  4. 如果想分块下载,请自行在Header中加入Range
  5. 发送GET请求后,可能并不能直接获取数据,将获得 HTTP/1.1 307 Temporary Redirect,此时重定向的数据实际下载地址包含在返回的header中,形如: Location: http://iovip.qbox.me/file/8QhbPDcKueO0ZOEDqnroKw0y478TNADQAwAAACfQem72ulBu9rl6bvYDEHDiumoeFLDnJKS5em72uXpu9rl6bvbWRi-vul_Q0Ckfu5f7PMvE9OoXIdfQ0NDT-tDQ0NDQ0N2pQCrK0NDQcHNHYPbupfOQx9EUBTS5bh6sR1Jtqr4maaq-JmmqviY= 对于重定向的情况,客户端需要判断并从新地址下载数据,以C++开发使用curl为例,需要设置:curl_easy_setopt (_curl, CURLOPT_FOLLOWLOCATION, 1);
Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文档id

rev
string

文件版本号,为空默认下载最新版本

authtype
string

默认为空,在header中包含鉴权,否则在url中包含鉴权。QUERY_STRING,url中包含鉴权

savename
string

使用QUERY_STRING方式下载时(浏览器),可以设置要保存的文件名

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://337CF682A29B4B4AAE37947BE99E817B/FD6C37F52BE446FEA563D0A117DC487F",
  • "rev": "0E141BDD67A24B4A9F1EACD29F602C3A",
  • "authtype": "QUERY_STRING",
  • "savename": "1-AnyShare6.0访问控制开放API - 对外.docx"
}

Response samples

Content type
application/json
{}

对象存储的选项值

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
{
  • "partminsize": 204800,
  • "partmaxsize": 5368709120,
  • "partmaxnum": 10000
}

开始上传文件协议

此接口支持用户账户应用账户调用。

  1. 如果reqmethod为PUT,收到响应后,客户端自行发送上传文件http请求到对象存储,填入响应中authrequest字段包含的header,然后15分钟内发送PUT请求

    示例:

    URL:https://s3-ap-northeast-1.amazonaws.com/anyshares3accesstestbucket/21A9B9FD1B524CB49D54BF7399F82EB4/AAA6CBAFE45B4E4D884DC59805E60A5C

    Header:

    “Authorization: AWS AKIAJEROARV2UTTADY6A:PkLXjvYrDGDVZgTD8WVbMmS33q4=”
    “Date: Tue, 07 Apr 2015 02:35:36 GMT”
    “Content-Length: 42”
    “Content-Type: application/octet-stream”
    

    Body:文件内容

  2. 如果reqmethod为POST,收到响应后,客户端自行设置发送上传文件内容的表单请求到对象存储,填入各表单项,然后15分钟内发送POST请求。阿里云OSS和亚马逊S3要求file必须为表单中最后一个域。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

gns(全局名字空间)路径,创建或者列举协议返回

  • 创建文件时, gns为待创建文件的父目录gns;
  • 编辑文件时(文件生成新版本),gns为所编辑文件的gns
length
required
integer <int64>

整个文件的长度,支持最大5G

name
string

文件名称,UTF8编码

  • 创建文件时, name为文件名;
  • 编辑文件时(文件生成新版本),参数为空
client_mtime
integer <int64>

由客户端设置的文件本地修改时间 创建新版本(rev为空或name为为空)时,写入版本

ondup
integer <int64>

当name不为空时生效,默认为2

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名
  • 3:如果重名冲突,自动覆盖
reqmethod
string

向存储服务器上传数据时的请求方法。 默认为“PUT”;参数值“POST”表示使用POST表单的方式上传

csflevel
integer <int64>

文件密级预检查,要设置密级必须在osendupload中设置

  • 0:默认值,不检查密级
  • 5~15:正常密级
  • 0x7FFF:空密级
editedrev
string

表示编辑文件时,基于文件的哪个版本(版本ID)进行编辑,默认为空。

  • 如果为空,不检查是否基于文件的最新版本进行编辑;
  • 如果不为空,若所编辑的版本ID不是服务器上文件的最新版本,则上传报错。错误码403203,“所编辑文件的版本与服务端文件最新版本不一致”

Responses

Request samples

Content type
application/json
Example
{
  • "client_mtime": 1380245084296354,
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4",
  • "length": 42,
  • "name": "file.txt"
}

Response samples

Content type
application/json
{}

上传文件完成协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
crc32
string

文件的CRC32校验码

docid
required
string

文件gns路径(创建协议返回)

md5
string

文件MD5值

slice_md5
string

文件的slice_md5

rev
required
string

文件版本号

csflevel
integer <int64>

文件密级,仅上传定密时需要设置

  • 0:默认值,创建文件时文件密级设为创建者密级,覆盖版本时不改变密级
  • 5~15:正常密级
  • 0x7FFF:空密级
editedrev
string

表示编辑文件时,基于文件的哪个版本(版本ID)进行编辑,默认为空。

  • 如果为空,不检查是否基于文件的最新版本进行编辑;
  • 如果不为空,若所编辑的版本ID不是服务器上文件的最新版本,则上传报错。错误码403203,“所编辑文件的版本与服务端文件最新版本不一致”;

Responses

Request samples

Content type
application/json
{
  • "crc32": "C89E6EA0",
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "md5": "B029C864F8E75AB6CA3BBE6976C9AF27",
  • "slice_md5": "9602A3C17962CE961F04FBECFC5594D4",
  • "rev": "91E6CBAFE45B4E4D884DC59805E60A5C"
}

Response samples

Content type
application/json
{
  • "editor": "6019dc28-924e-11e5-94e2-000c29b7abd8",
  • "modified": 1380502294452719,
  • "name": "testfile"
}

批量开始上传文件

此接口支持应用账户调用。目前仅支持批量向同一个存储上传文件,不支持不同oss对象批量上传。暂不支持 ondup 参数,对于所有同名文件都执行覆盖操作,如果存在同名目录或者没有权限覆盖,则会单个失败并跳过

Authorizations:
OAuth2.0
Request Body schema: application/json
required
Array
parent_id
required
string

待创建文件的父目录objectID

length
required
integer <int64>

整个文件的长度,支持最大5G

name
required
string

文件名称,UTF8编码,最长2048字符

client_modify_time
integer <int64>

由客户端设置的文件本地修改时间,默认为服务器时间

req_method
string

向存储服务器上传数据时的请求方法,所有批量对象都应该使用一种方式。 默认为“PUT”;参数值“POST”表示使用POST表单的方式上传

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {},
  • {
    }
]

批量结束上传文件

此接口支持应用账户调用

Authorizations:
OAuth2.0
Request Body schema: application/json
required
Array
crc32
string

文件的CRC32校验码

object_id
required
string

文件objectID

md5
string

文件MD5值

slice_md5
string

文件的slice_md5

version_id
required
string

文件版本号

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

开始上传大文件协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

gns(全局名字空间)路径,创建或者列举协议返回

  • 创建文件时, gns为待创建文件的父目录gns;
  • 编辑文件时(文件生成新版本),gns为所编辑文件的gns;
length
required
integer <int64>

整个文件的长度

name
string

文件名称,UTF8编码

  • 创建文件时, name为文件名;
  • 编辑文件时(文件生成新版本),参数为空;
client_mtime
integer <int64>

由客户端设置的文件本地修改时间

创建新版本(rev为空或name为为空)时,写入版本

ondup
integer <int64>

当name不为空时生效,默认为2

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名
  • 3:如果重名冲突,自动覆盖
csflevel
integer <int64>

文件密级预检查,要设置密级必须在osendupload中设置

  • 0:默认值,不检查密级
  • 5~15:正常密级
  • 0x7FFF:空密级
editedrev
string

表示编辑文件时,基于文件的哪个版本(版本ID)进行编辑,默认为空。

  • 如果为空,不检查是否基于文件的最新版本进行编辑;
  • 如果不为空,若所编辑的版本ID不是服务器上文件的最新版本,则上传报错。错误码403203,“所编辑文件的版本与服务端文件最新版本不一致”;

Responses

Request samples

Content type
application/json
Example
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4",
  • "length": 42,
  • "name": "file.txt"
}

Response samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "name": "testfile",
  • "rev": "AAA6CBAFE45B4E4D884DC59805E60A5C",
  • "uploadid": "21A9B9FD1B524CB49D54BF7399F82EB4/AAA6CBAFE45B4E4D884DC59805E60A5C"
}

上传大文件的分块协议

此接口支持用户账户应用账户调用。

  1. 收到该响应后,客户端自行发送文件分片内容的请求到对象存储。

  2. 客户端在请求Header中填入authrequests中的header,15分钟内发送PUT请求

    示例:

    URL:https://s3-ap-northeast-1.amazonaws.com/anyshares3accesstestbucket/21A9B9FD1B524CB49D54BF7399F82EB4/AAA6CBAFE45B4E4D884DC59805E60A5C?partNumber=1&uploadId=0004B9895DBBB6EC98E36

    Header:

    “Authorization: AWS AKIAJEROARV2UTTADY6A:PkLXjvYrDGDVZgTD8WVbMmS33q4=”
    “Date: Tue, 07 Apr 2015 02:35:36 GMT”
    “Content-Length: 42

    Body:分片内容

  3. 对象存储返回响应信息时,响应header中可能包含Etag值,用于标识所上传对象分片。如果存在key为ETag/ETAG/etag/Etag等值的header,需要取得其对应的值(如果这些header都没有,直接使用空字符串),作为完成大文件分块上传协议oscompleteupload的传参,见参数partetag及请求示例。

    需注意,不同对象存储返回的Etag的header,key大小写可能不同,可能为ETag/ETAG/etag/Etag等(如果这些header都没有,直接使用空字符串)。可以对响应header进行遍历,对每个key转为小写,和字符串“etag”对比,获取对应的值。一个可能的响应header示例为:Etag: ce1c8d1c3900c64feaa651052d75acd9

  4. 亚马逊S3限定分块大小不能小于5MB,七牛存储限定分块大小为4M的倍数。见“对象存储选项值协议”说明

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件的gns路径(创建协议返回)

rev
required
string

文件版本号

uploadid
required
string

Multiupload事件Id

parts
required
string

需要鉴权的数据块号,支持两种格式的组合,组合时以逗号分隔:

  • 以“-”连接的数据块区间
  • 单独的数据块号
  • 如:1-100,2,3,4,23-120,130,288
  • 数据块号最小为1,最大为10000。
  • 根据parts参数的请求形式,可以批量申请上传数据的请求,减少上传文件时的请求次数。

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "rev": "AAA6CBAFE45B4E4D884DC59805E60A5C",
  • "uploadid": "0004B9895DBBB6EC98E36",
  • "parts": "1-2"
}

Response samples

Content type
application/json
{}

上传大文件的分块完成协议

此接口支持用户账户应用账户调用。

接口调用成功,收到200响应时,表单中json部分含义:

  • authrequest[0]:请求方法
  • authrequest[1]: 待上传的资源URL
  • authrequest[2]及以后项(如果存在):请求头,格式为“key: value”

客户端15分钟内自行发送相关分片信息的请求到云存储平台

mothod为:PUT

URL为:https://s3-ap-northeast-1.amazonaws.com/anyshares3accesstestbucket/21A9B9FD1B524CB49D54BF7399F82EB4/AAA6CBAFE45B4E4D884DC59805E60A5C?uploadId=0004B9895DBBB6EC98E36

Header包含: “Authorization: AWS AKIAJEROARV2UTTADY6A:PkLXjvYrDGDVZgTD8WVbMmS33q4=” “Date: Tue, 07 Apr 2015 02:35:36 GMT” “Content-Length: 4200”

Body为返回的body内容中除了参数之外的部分:

<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>3349DC700140D7F86A078484278075A9</ETag>
</Part>
<Part>
<PartNumber>2</PartNumber>
<ETag>22222C700140D7F86A078484278075A9</ETag>
</Part>
</CompleteMultipartUpload>
Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件的gns路径(创建协议返回)

rev
required
string

文件版本号

uploadid
required
string

Multiupload事件Id

required
object (FileOscompleteuploadReqPartinfo)

分块信息map,键为数据分块号

Responses

Request samples

Content type
application/json
{
  • "partinfo": {
    },
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "rev": "AAA6CBAFE45B4E4D884DC59805E60A5C",
  • "uploadid": "0004B9895DBBB6EC98E36"
}

Response samples

Content type
multipart/form-data
使用不同的对象存储,返回的内容形式不同,以实际返回为准
Header:
Content-Type:multipart/form-data;boundary=anYshARe60ca6e43

Body:
--anYshARe60ca6e43

<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>3349DC700140D7F86A078484278075A9</ETag>
</Part>
<Part>
<PartNumber>2</PartNumber>
<ETag>22222C700140D7F86A078484278075A9</ETag>
</Part>
<CompleteMultipartUpload>
--anYshARe60ca6e43

{
"authrequest" : 
[
"PUT",
"https://s3-ap-northeast-1.amazonaws.com/anyshares3accesstestbucket/21A9B9FD1B524CB49D54BF7399F82EB4/AAA6CBAFE45B4E4D884DC59805E60A5C?uploadId=0004B9895DBBB6EC98E36"
"Date: Tue, 07 Apr 2015 02:35:36 GMT",
"Authorization: AWS AKIAJEROARV2UTTADY6A:PkLXjvYrDGDVZgTD8WVbMmS33q4="
]
}
--anYshARe60ca6e43--

上传文件更新协议

此接口支持用户账户应用账户调用。

用于更新不完整版本的版本大小,重复获取上传所用的鉴权请求

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件gns路径(创建协议返回)

rev
required
string

文件版本号

length
integer <int64>

默认为-1;

不为-1时,更新版本的length为参数值;

multiupload
boolean
  • 默认为false
  • 参数为true,返回大文件分片上传需要的uploadid
  • 如果multiupload为false,length支持最大5G
reqmethod
string

采用单文件上传方式向存储服务器上传数据时的请求方法。

默认为“PUT”;参数值“POST”表示使用POST表单的方式上传

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "length": 42,
  • "multiupload": true,
  • "rev": "91E6CBAFE45B4E4D884DC59805E60A5C"
}

Response samples

Content type
application/json
{
  • "uploadid": "21A9B9FD1B524CB49D54BF7399F82EB4/AAA6CBAFE45B4E4D884DC59805E60A5C"
}

文件及文件夹批量下载

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
name
required
string

zip压缩包名称

reqhost
required
string

从存储服务器下载数据时的请求地址

files
Array of strings

文件GNS数组

dirs
Array of strings

文件夹GNS数组

Responses

Request samples

Content type
application/json
{
  • "name": "test.zip",
  • "reqhost": "192.168.137.43",
  • "files": [
    ],
  • "dirs": [
    ]
}

Response samples

Content type
application/json
{}

文件操作

删除文件协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

要删除文件的gns路径

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

重命名文件协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

要重命名的文件gns路径

name
required
string

重命名成功后的新文件名,UTF8编码

ondup
integer <int64>

重名冲突处理策略,默认为2

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名

Responses

Request samples

Content type
application/json
Example
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "name": "testfile_new"
}

Response samples

Content type
application/json
Example
{ }

移动文件协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required

无法移动到原位置(指定目标父对象为待移动对象的父对象)

docid
required
string

要移动的文件gns路径

destparent
required
string

目标父对象的gns路径

ondup
integer <int64>

重名冲突处理策略,默认为2

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名
  • 3:如果重名冲突,自动覆盖
new_name
string

编辑后的新名称

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "destparent": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/4283DE754B2A4261A2A59B9812D8C682"
}

Response samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/4283DE754B2A4261A2A59B9812D8C682/91E6CBAFE45B4E4D884DC59805E60A5C"
}

复制文件协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
header Parameters
X-AS-Authorization
string

扩展token,仅在拷贝匿名共享数据时需要增加此报头,value为匿名账户的token,token类型为Bearer Token。

Request Body schema: application/json
required
docid
required
string

要复制的文件gns路径

destparent
required
string

目标父对象的gns路径

ondup
integer <int64>

重名冲突处理策略,默认为2

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名
  • 3:如果重名冲突,自动覆盖

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "destparent": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/4283DE754B2A4261A2A59B9812D8C682"
}

Response samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/4283DE754B2A4261A2A59B9812D8C682/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "name": "test (1).txt"
}

获取上传文件的建议名称

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

父目录的gns路径

name
required
string

UTF-8编码,要上传的文件名

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "name": "test_file_name"
}

Response samples

Content type
application/json
{
  • "name": "test_file_name"
}

获取文件历史版本协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

要列举版本的gns路径

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C"
}

Response samples

Content type
application/json
[
  • {
    }
]

还原文件历史版本协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

需要还原版本的文件gns路径

rev
required
string

版本号

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "rev": "BCC857D5752346D0838BDD05C67CF3EF"
}

Response samples

Content type
application/json
{
  • "editor": "6019dc28-924e-11e5-94e2-000c29b7abd8",
  • "modified": 1380502294452719,
  • "client_mtime": 1380245084296354,
  • "name": "name",
  • "rev": "123457D5752346D0838BDD05C67CF311"
}

获取元数据协议

此接口支持用户账户应用账户调用。

获取元数据协议返回的参数,与文件版本有关,docid与objectid都为可选,body中可选一种方式获取文件元数据,不能同时为空

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
string

文件gns路径(列举协议返回)

rev
string

版本号,为空默认获取最新版本的元数据

objectid
string

文件对象id

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "rev": "91E6CBAFE45B4E4D884DC59805E60A5C"
}

Response samples

Content type
application/json
{
  • "client_mtime": 1564993451247000,
  • "editor": "test2",
  • "modified": 1565232100251413,
  • "name": "2019-08-05_162407.png",
  • "rev": "87E91EA985004AD892E1BD768376E23F",
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "storage_name": "EOSS",
  • "size": 34842,
  • "file_name": "2022-05-05_162407.png",
  • "doc_lib_type": "user_doc_lib"
}

获取文件属性协议

此接口支持用户账户应用账户调用。

获取文件属性协议返回的参数,与文件版本无关

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件gns路径(列举协议返回)

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C"
}

Response samples

Content type
application/json
{
  • "create_time": 1380245084296354,
  • "creator": "user1",
  • "id": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "csflevel": 5,
  • "name": "test.txt",
  • "rev": "91E6CBAFE45B4E4D884DC59805E60A5C",
  • "size": 24609,
  • "storage_name": "myself",
  • "created_at": "2023-04-12T01:37:24Z",
  • "modified_at": "2023-04-12T01:37:24Z",
  • "custom_metadata": {
    },
  • "created_by": {
    },
  • "modified_by": {
    },
  • "doc_lib": {
    }
}

设置文件密级

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
csflevel
required
integer <int64>

文件密级:5~15

docid
required
string

文件gns路径(列举协议返回)

Responses

Request samples

Content type
application/json
{
  • "csflevel": 5,
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C"
}

Response samples

Content type
application/json
{
  • "result": 0
}

秒传校验码协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
length
required
integer <int64>

整个文件的长度

slice_md5
required
string
  • 校验段校验码
  • 如果文件大于200KB,slice_md5为文件的前200KB的MD5值
  • 如果文件小于等于200KB,slice_md5为整个文件的MD5值

Responses

Request samples

Content type
application/json
{
  • "length": 439430401,
  • "slice_md5": "0ACF03F408F90EA0DCBA786D300620DB"
}

Response samples

Content type
application/json
{
  • "match": false
}

秒传文件协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
client_mtime
integer <int64>

由客户端设置的文件本地修改时间

crc32
required
string

文件的CRC32校验码

docid
required
string

gns(全局名字空间)路径,创建或者列举协议返回

说明:如果name不为空,gns为待创建文件的父目录gns;否则为文件的gns。

length
required
integer <int64>

整个文件的长度

md5
required
string

文件MD5值

name
string

文件名称,UTF8编码

说明:1、如果为空,在父目录文件下生成版本;2、如果不为空,在父目录下创建文件,同时生成版本

ondup
integer <int64>

仅当name不为空时才会生效,默认为2

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名
  • 3:如果重名冲突,自动覆盖
csflevel
integer <int64>

文件密级

  • 0:默认值,创建文件时文件密级设为创建者密级,覆盖版本时不改变密级
  • 5~15:正常密级
  • 0x7FFF:空密级

Responses

Request samples

Content type
application/json
{
  • "client_mtime": 1380245084296354,
  • "crc32": "361EFB35",
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4",
  • "length": 452781564,
  • "md5": "953C3FEEC9284156D47604F67945F490",
  • "name": "test.txt",
  • "ondup": 1
}

Response samples

Content type
application/json
{
  • "success": true,
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "editor": "user1",
  • "modified": 1380502294452719,
  • "name": "test.txt",
  • "rev": "91E6CBAFE45B4E4D884DC59805E60A5C"
}

图片缩略图协议

此接口支持用户账户应用账户调用。

  1. 缩略后的图片以传入的大小按比例缩放,而非拉伸处理。
  2. 图片的大小如果小于等于传入的大小,不做缩放处理,仅做质量处理。
  3. 目前支持的格式为:bmp、jpg、png、gif、tif。
  4. 默认支持对大小小于等于20M的图片进行缩略。
  5. tif格式的缩略图为jpg格式用于Web展示,其他为原始格式。
query Parameters
docid
required
string

文件gns路径(列举协议返回)

rev
string

版本号,为空默认获取最新版本。

height
required
integer <int64>

缩略图的高度

width
required
integer <int64>

缩略图的宽度

quality
integer <int64>

缩略图质量,默认为75

tokenid
required
string

鉴权

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

转换路径协议

此接口支持用户账户应用账户调用。

由一个gns路径,获取一个名字路径

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件gns路径(列举协议返回)

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C"
}

Response samples

Content type
application/json
{
  • "namepath": "user1/文件夹2"
}

由名字路径获取对象信息协议

此接口支持用户账户应用账户调用。

由一个名字全路径,获取一个docid及对象信息

Authorizations:
OAuth2.0
Request Body schema: application/json
required
namepath
required
string

名字路径,由顶级入口(个人文档/文档库等)开始的对象全路径,以”/”分隔

Responses

Request samples

Content type
application/json
{
  • "namepath": "user1/文件夹2"
}

Response samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "name": "文件夹2",
  • "rev": "f439e966-4319-4142-a412-fd4e1821b709",
  • "size": -1,
  • "modified": 1380502294452719
}

获取文件定密信息

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件gns路径(列举协议返回)

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://D3DDD273AD5E4F73A93D9E3D4C801944/9E7A0B9DC53B43F08CAF8191AF193D4F"
}

Response samples

Content type
application/json
{
  • "csfinfo": {
    }
}

获取对象信息

此接口支持用户账户应用账户调用。

获取 目录/文件/文档库 的详细信息

Authorizations:
OAuth2.0
path Parameters
id
required
string

文件/目录/文档库 的gns

fields
required
string
Enum: "created_at" "created_by" "custom_metadata" "modified_at" "modified_by" "name" "rev" "security_classification" "size" "storage_name" "path" "doc_lib" "type" "all"

Array of strings

查询字段名:(可任意组合,若修改多个字段以逗号间隔,输入all表示获取所有字段)

  • name
  • rev
  • size
  • path
  • type
  • created_at
  • created_by
  • custom_metadata
  • modified_at
  • modified_by
  • doc_lib
  • storage_name
  • security_classification

例如:

  • path,size
(表示查询对象路径和大小,且两个返回字段变为required)
  • path
(表示只查询对象路径,且"path"字段变为required)
  • all
(表示查询所有字段,且所有返回字段全变为required)

Responses

Response samples

Content type
application/json
{
  • "id": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "name": "test5.pdf",
  • "rev": "91E6CBAFE45B4E4D884DC59805E60A5C",
  • "size": 555,
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "custom_metadata": {
    },
  • "security_classification": 5,
  • "path": "1/test5.pdf",
  • "storage_name": "myself",
  • "doc_lib": {
    },
  • "type": "file"
}

获取对象信息v2

此接口支持用户账户应用账户调用。

获取 目录/文件/文档库 的详细信息

Authorizations:
OAuth2.0
path Parameters
object_id
required
string

文件/目录/文档库的对象ID

fields
required
string
Enum: "doc_id" "created_at" "created_by" "custom_metadata" "modified_at" "modified_by" "name" "rev" "security_classification" "size" "storage_name" "path" "doc_lib" "type" "all"

Array of strings

查询字段名:(可任意组合,若修改多个字段以逗号间隔,输入all表示获取所有字段)

  • doc_id
  • name
  • rev
  • size
  • path
  • type
  • created_at
  • created_by
  • custom_metadata
  • modified_at
  • modified_by
  • doc_lib
  • storage_name
  • security_classification

例如:

  • path,size
(表示查询对象路径和大小,且两个返回字段变为required)
  • path
(表示只查询对象路径,且"path"字段变为required)
  • all
(表示查询所有字段,且所有返回字段全变为required,传递该参数时不允许出现其它字段,否则报错)

Responses

Response samples

Content type
application/json
{
  • "object_id": "91E6CBAFE45B4E4D884DC59805E60A5C",
  • "doc_id": "gns://21A9B9FD1B524CB49D54BF7399F82EB4/91E6CBAFE45B4E4D884DC59805E60A5C",
  • "name": "test5.pdf",
  • "rev": "91E6CBAFE45B4E4D884DC59805E60A5C",
  • "size": 555,
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "custom_metadata": {
    },
  • "security_classification": 5,
  • "path": "1/test5.pdf",
  • "storage_name": "myself",
  • "doc_lib": {
    },
  • "type": "file"
}

批量获取文件/目录元数据

此接口支持应用账户调用。

查询会过滤掉查询异常的文件/目录

Authorizations:
OAuth2.0
path Parameters
fields
required
Array of strings

查询字段名:(可任意组合,若修改多个字段以逗号间隔)

  • path
  • size
  • name
  • type
  • created_at
  • created_by
  • csflevel
  • modified_at
  • modified_by
  • doc_lib_type
  • status
  • version
  • doc_id

例如:

  • path,size
    (表示查询对象路径和大小,且两个返回字段变为required)
  • path
    (表示只查询对象路径,且"path"字段变为required)
Request Body schema: application/json
required
method
required
string
Value: "GET"

方法名, 必为"GET"

object_ids
required
Array of strings

文件/目录objectId集合

Responses

Request samples

Content type
application/json
{
  • "method": "GET",
  • "object_ids": [
    ]
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

回收站

浏览回收站资源协议

此接口支持用户账户应用账户调用。

当请求中有多个查找的关键词时,将返回根据每个关键词查找的结果的交集。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

个人文档或者文档库的gns路径

name
Array of strings

按照文件名查找,默认为空,不进行过滤

by
string

指定按哪个字段排序 若不指定,默认按docid升序排序 说明: name,按文件名称(中文按拼音)排序 type,按文件类型排序(目录按name升序) time,按删除时间排序

sort
string

升序还是降序,默认为升序 说明: asc,升序 desc,降序

path
Array of strings

按照原位置查找,默认为空,不进行过滤

editor
Array of strings

按照删除者查找,默认为空,不进行过滤

start
integer <int64>

开始位置,默认为0

limit
integer <int64>

分页条数,默认为-1,返回start后面的所有记录

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://21A9B9FD1B524CB49D54BF7399F82EB4",
  • "name": [
    ]
}

Response samples

Content type
application/json
{
  • "dirs": [
    ],
  • "files": [
    ],
  • "servertime": 1380502542876354
}

还原回收站资源协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

要还原的文件/目录在回收站的gns路径(可以是回收站的子目录或者子文件)

ondup
required
integer <int64>

重名冲突处理策略,默认为2 1:检查是否重命名,重名则抛异常 2:如果重名冲突,自动重名

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://24D0786E37364220A53AC914D468D3C0/81CF2BE42EBA430CA2388901B8C600EF/BCC857D5752346D0838BDD05C67CF3EF",
  • "ondup": 1
}

Response samples

Content type
application/json
{
  • "docid": "gns://24D0786E37364220A53AC914D468D3C0/81CF2BE42EBA430CA2388901B8C600EF/24D0786E37364220A53AC914D468D3C0"
}

删除回收站资源协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

要删除的文件/目录在回收站的gns路径

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://24D0786E37364220A53AC914D468D3C0/81CF2BE42EBA430CA2388901B8C600EF/BCC857D5752346D0838BDD05C67CF3EF"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

获取回收站还原后的建议名称协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

要还原的文件/目录在回收站的gns路径(可以是回收站的子目录或者子文件)

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://24D0786E37364220A53AC914D468D3C0/81CF2BE42EBA430CA2388901B8C600EF/BCC857D5752346D0838BDD05C67CF3EF"
}

Response samples

Content type
application/json
{
  • "name": "aaaa (3)"
}

设置回收站保留天数

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

个人文档或者文档库的gns路径

days
required
integer <int64>

保留天数

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://b5676284d1704f4bba608e2b441857eb",
  • "days": 30
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

获取回收站保留天数

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

个人文档或者文档库的gns路径

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://b5676284d1704f4bba608e2b441857eb"
}

Response samples

Content type
application/json
{
  • "days": 30
}

隔离区

浏览协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取版本协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件docid

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://9855124D1B60466F98308C30951F2C49/8F4105AD927B40CFA0661B61BA6EA96F"
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

申述协议

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
docid
required
string

文件docid

reason
required
string

申诉理由

Responses

Request samples

Content type
application/json
{
  • "docid": "gns://9855124D1B60466F98308C30951F2C49/8F4105AD927B40CFA0661B61BA6EA96F",
  • "reason": "文件正常"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

消息通知

确认消息通知

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
msgids
required
Array of strings

要标记为已读的消息的id数组,前面get返回的

Responses

Request samples

Content type
application/json
{
  • "msgids": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

邮件发送

此接口支持用户账户调用。

使用SMTP服务器发送邮件

Authorizations:
OAuth2.0
Request Body schema: application/json
required
mailto
required
Array of strings

收件人邮箱地址列表

subject
string

邮件主题

content
string

邮件内容(由html格式组织)

Responses

Request samples

Content type
application/json
{
  • "mailto": [
    ],
  • "subject": "发送匿名共享链接",
  • "content": "邮件内容"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "cause": "string",
  • "detail": { }
}

获取消息通知

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
stamp
integer <int64>

通知的时间 (unix utc ms)的起始点,可由上一次get提供。第一次get,值为0表示所有

sort
string

返回结果的排序方式。asc:按照消息生成时间升序排列;desc:按照消息生成时间降序排列;默认按照升序排列,即新消息在后面。

Responses

Request samples

Content type
application/json
{
  • "stamp": 0,
  • "sort": "asc"
}

Response samples

Content type
application/json
{
  • "stamp": 1447257721605629,
  • "msgs": [
    ]
}

文档预览下载和在线编辑

包含文件上传、下载、预览、编辑接口,操作对象及返回对象包含主/副文档(区别于本文档中“文件上传下载“协议:操作对象为主文档),其中上传协议当前仅限在线编辑文件上传;下载协议包含单个/批量下载主/副文档;预览包含预览office、图片、缩略图、cad、音视频等文件;编辑仅支持office文件;

文件夹缩略图

此接口支持用户账户调用。

Authorizations:
OAuth2.0
query Parameters
id
required
string

文件夹ID

type
required
string
Enum: "24*24" "32*50" "228*120" "96*96" "216*168" "318*318" "486*348" "1125*2001"

缩略图类型:宽高比例,后端默认生成2倍宽高的缩略图

  • 24*24
  • 32*50
  • 228*120
  • 96*96
  • 216*168
  • 318*318
  • 486*348
  • 1125*2001
token
string

授权信息,header中无法添加认证信息时,可通过此参数传递,优先使用header中认证信息

Responses

文件缩略图

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
query Parameters
id
required
string

文档ID

type
required
string
Enum: "24*24" "32*50" "228*120" "96*96" "216*168" "318*318" "486*348" "1125*2001"

缩略图类型:宽高比例,后端默认生成2倍宽高的缩略图

  • 24*24
  • 32*50
  • 228*120
  • 96*96
  • 216*168
  • 318*318
  • 486*348
  • 1125*2001
token
string

授权信息,header中无法添加认证信息时,可通过此参数传递,优先使用header中认证信息

redirect
boolean

是否重定向(默认为true)

Responses

下载文件

此接口支持用户账户应用账户调用。

批量下载限制(可配置,但不能超过以下限制):

  • 小于1000个文件
  • 总大小不超过50G

请求单个文件:

  • 【成功】 返回200,信息在items里,items里只有一个元素
  • 【失败】 不返回200,返回相应错误码

请求多个文件或文件夹:

  • 【成功】 返回200,信息在items里
  • 【部分或全部失败】 返回200, 失败文件相应错误见items.error相应错误码
Authorizations:
OAuth2.0
Request Body schema: application/json
required
required
Array of objects

下载源

name
string <= 255 characters [^\/:\*\?"<>\|]

说明:

  • 【单个文件】 作为重命名文件名

  • 【多个文件或文件夹】作为压缩包名称, 不需要打包时不传,请求时为多个文件或文件夹,实际文件只有1个也按此处理

  • 长度不超过255(含),不包含字符 /:*?"<>|

Responses

Request samples

Content type
application/json
{
  • "doc": [
    ],
  • "name": "新建文本文档.txt"
}

Response samples

Content type
application/json
{}

预览文件

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
id
required
string

文档ID

version
string

主文档版本

format
Array of strings

预览格式:用户希望预览的格式集合,文件后缀列表,示例 format:[".pdf"]。

  • 列表为空,表示以原文件格式预览
  • 非业务系统受读取策略控制,如果列表为空返回对应策略的与原文件格式相同的转码文件,否则报错
  • 业务系统默认不受读取策略控制,如果列表为空则直接返回原文件,而如果业务希望得到同样格式的转码文件,请传对应的文件格式后缀
  • 可通过业务系统权限管控来阻止预览原文件行为
  • officeonline、wpsonline等第三方工具隶属于业务系统
  • 列表不为空,后端择优选择,如果格式和列表中的不符合,报错
video_quality
string
Enum: "od" "sd"

视频画质:不填或者为空表示默认流畅

  • od:原画
  • sd:流畅
object (Watermark)

水印配置。仅支持应用账户设置,默认使用预览下载策略中的水印配置,指定后则覆盖

Responses

Request samples

Content type
application/json
{
  • "format": [
    ],
  • "id": "5E7AC0E2FDB547B19DC8D2092EAD91F4",
  • "version": "7DFF1D80A2144F7291872DB275F02C5A"
}

Response samples

Content type
application/json

在线编辑预览文件

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
id
required
string

文档ID

version
string

主文档版本

tool
string
Enum: "king_wps_office_online" "microsoft_office_online" "yozo_office_online" "hc_cad_online" "foxit_online" "video_online" "image_online" "image_local_mobile" "default_online"

访问的工具名称,不传默认使用default_online

object

客户端在线编辑预览工具能力,和返回中policy对应

object

拓展参数,根据实际请求配置

user_token
object

用户token,应用账号访问时,需要携带用户token

Responses

Request samples

Content type
application/json
{
  • "tool": "king_wps_office_online",
  • "ability": {
    },
  • "id": "0AE9B980FB514BAA95549EF26CAF1623",
  • "version": "E65BD4D20BBE468A8E218C1F0B095D29"
}

Response samples

Content type
application/json
{}

文件结束上传

此接口支持用户账户调用。

仅支持AS已存在的文件,不支持新文件上传

Authorizations:
OAuth2.0
Request Body schema: application/json
required
id
required
string

文档id

version
required
string

文档版本,开始上传返回的新版本号

Responses

Request samples

Content type
application/json
{
  • "id": "5E7AC0E2FDB547B19DC8D2092EAD91F4",
  • "version": "7DFF1D80A2144F7291872DB275F02C5A"
}

Response samples

Content type
application/json
{
  • "cause": "缺少参数ID",
  • "code": 400008001,
  • "detail": {
    },
  • "message": "请求参数错误"
}

文件请求上传

此接口支持用户账户调用。

仅支持AS已存在的文件,不支持新文件上传

Authorizations:
OAuth2.0
Request Body schema: application/json
id
required
string

文档id

version
string

编辑时的文档版本,用于比对服务器文档版本,不一致会报错

method
string

向存储服务器上传数据时的请求方法:默认为PUT

  • PUT
  • POST

开始上传示例:

  • PUT方式:

  • POST方式:收到响应后,客户端自行设置发送上传文件内容的表单请求到对象存储,填入各表单项,在15分钟内发送请求。阿里云OSS和亚马逊S3要求文件必须为表单中最后一个域

length
required
integer <int64>

文件大小

Responses

Request samples

Content type
application/json
{
  • "id": "5E7AC0E2FDB547B19DC8D2092EAD91F4",
  • "version": "7DFF1D80A2144F7291872DB275F02C5A",
  • "method": "POST",
  • "length": 1024
}

Response samples

Content type
application/json
{}

文件操作日志记录

此接口支持用户账户应用账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
operation_type
required
string
Enum: "preview" "download"

文件操作类型 预览:preview, 下载:download

version
string

文件版本

object

拓展参数,根据实际请求配置

id
required
string

主文档id

Responses

Request samples

Content type
application/json
{
  • "id": "F825C12E6ED24AD28D5A50EC31E89153",
  • "operation_type": "preview"
}

Response samples

Content type
application/json
{
  • "cause": "缺少参数ID",
  • "code": 400008001,
  • "detail": {
    },
  • "message": "请求参数错误"
}

EFAST服务错误码

如果接口调用返回的HTTP状态码为非200系列,则表示发生异常,会返回异常消息。

HTTP状态码对照表

状态码 原因 描述
200 OK 成功
400 Bad Request 参数格式错误,未提供所需参数,参数为空,参数超出范围等
401 Unauthorized 鉴权相关,Token过期或不存在
403 Forbidden 逻辑错误、权限错误:如用户无权限访问资源或配额已满,不正确的操作等
404 Not Found 被操作对象不存在
405 Method Not Allowed 比如,使用了GET、DELETE等请求
500 Internal Server Error 服务器内部环境或逻辑错误
501 Not Implemented 比如,调用了回收站资源不支持的rename接口
503 Service Unavailable 服务器暂时不可用,可以稍后重试

异常错误码对照表

状态码 错误码 错误信息 错误附加详细信息
400 400002001 URI 资源不存在
400 400002007 数据块大小和实际大小不匹配
400 400001010 您设置的时间已经早于服务器的当前时间,请重新设置或校对时间
400 400002011 您设置的有效期已经超过了5年的限制,请重新设置或校对时间
400 400002012 名称不能包含下列任何字符: \/:*?"<>|
401 401001001 Access Token校验失败
401 401001003 用户名或者密码不正确
401 401002005 加密凭证无效
403 403002001 空间配额不足
403 403001002 没有权限执行此操作
403 403002008 配权限时,访问者不存在
403 403002014 不能向完整版本添加数据块
403 403002015 操作的对象类型不正确
403 403002016 不能删除不在回收站的文件或目录
403 403002017 不能还原不在回收站的文件或目录
403 403002018 不能下载非完整的版本对象
403 403002019 对象无法移动到相同的路径或者子路径
403 403002022 不能删除不存在的数据块。
403 403002023 预览文档或缩略图过大,预览失败。
403 403002024 管理对象不存在
403 403002026 文档预览失败,格式错误
403 403002027 缩略图预览失败,格式错误
403 403001031 文档对象被锁定
403 403002035 尝试秒传写入的大小与实际上传的大小不匹配
403 403002036 版本元数据中存储字段无效
403 403002037 计算Hash时,标识的大小与实际大小不匹配
403 403002038 上传的文件不完整
403 403002039 存在同类型的同名文件名
403 403002040 存在同类型的同名文件,但无修改权限
403 403002041 存在不同类型的同名文件
403 403002042 预览缓存文件打开失败
403 403002043 当前操作不支持覆盖
403 403002046 请求对应数据块不存在
403 403002047 转码在线播放资源失败,文件格式不支持
403 403002048 指定对象和匿名共享不匹配
403 403002049 处理加密内容失败
403 403002054 对象无法复制到子路径
403 403002055 校验备份文件失败
403 403002056 没有权限操作目标位置的对象
403 403002059 校验上传文件的大小失败
403 403002064 用户设置的密级不能高于自身密级
403 403002065 用户密级低于文件密级,无法操作
403 403002069 转码失败,服务器缓存空间不足,请联系管理员。
403 403002070 所在网络受到限制,无法传输大文件
403 403002100 此条申请已失效(截至时间已经过期)
403 403001101 共享审核已经开启,请使用set协议来进行共享
403 403002102 此条申请已失效(匿名共享已失效)
403 403002103 此条申请已失效(匿名共享已存在)
403 403002104 无法执行上传操作,物理磁盘剩余空间不足,请联系管理员
403 403002125 无法执行覆盖操作,您无法修改归档库的文件
403 403002142 发表失败,请确认评论功能是否正常启用
403 403002143 删除失败,请确认评论功能是否正常启用
403 403002144 发表失败,不能对同一文件重复评分
403 403002145 删除失败,只能删除自己发表的评论
403 403002153 无法执行下载操作,您的下载次数超出限制
403 403002155 无法编辑“{发送文件箱}”
403 403002168 无法将文件/文件夹复制出水印文档库(旧水印方案为:复制到)
403 403002169 无法将文件/文件夹移动出水印文档库(旧水印方案为:复制到)
403 403002170 添加下载水印失败
403 403002175 目的文件被锁定
403 403002176 源文件被锁定
403 403002177 不是所有者
403 403002178 此格式文件不支持水印
403 403002181 文档类型被限制上传
403 403002182 重命名失败,文件类型已被管理员禁用
403 403002183 水印范围内的文件不支持批量下载
403 403002203 客户端编辑的文件版本与服务端文件的最新版本不一致
403 403002204 所属CID文档库未被删除
403 403002205 版本未查毒
404 404002005 入口文档记录不存在
404 404002006 请求的文件或目录不存在
404 404002008 不存在的匿名共享
404 404002010 没有完整的版本
404 404002011 数据块信息不完整
404 404002012 文档库加密密钥不存在
404 404002013 请求的目标端文件或目录不存在
404 404002014 获取开放存储服务信息失败
404 404002015 获取uploadid失败
404 404002017 获取站点信息失败
404 404002018 参数错误,不支持的文档类型
404 404002019 用户没有个人文档
405 405002001 HTTP方法错误
500 500002002 预览文件或缩略图失败
500 500002006 程序与当前数据不兼容
500 500002010 请求存储服务器失败
500 500002012 恢复数据前,请确认多站点配置信息
501 501002002 请求API错误,调用了不支持的API
503 503002002 文档正在转换
503 503002003 正在备份数据库
503 503002004 正在还原数据库
503 503002005 正在制作水印,请稍后...

EACP服务错误码

如果接口调用返回的HTTP状态码为非200系列,则表示发生异常,会返回异常消息。

HTTP状态码对照表

状态码 原因 描述
200 OK 成功
400 Bad Request 参数格式错误,未提供所需参数,参数为空,参数超出范围等
401 Unauthorized 鉴权相关,Token过期或不存在
403 Forbidden 逻辑错误、权限错误:如用户无权限访问资源或配额已满,不正确的操作等
404 Not Found 被操作对象不存在
405 Method Not Allowed 比如,使用了GET、DELETE等请求
500 Internal Server Error 服务器内部环境或逻辑错误
501 Not Implemented 比如,调用了回收站资源不支持的rename接口
503 Service Unavailable 服务器暂时不可用,可以稍后重试

异常错误码对照表

状态码 错误码 错误信息 错误附加详细信息
400 400001005 非法permconfigs项
400 400001010 您设置的时间已经早于服务器的当前时间,请重新设置或校对时间。
400 400001015 权限有效期限已经早于服务器的当前时间
400 400001016 链接有效期限已经早于服务器的当前时间
400 400001017 链接有效期限不能大于权限有效期限
400 400001018 显示名不能为空
400 400001043 手机号已存在
401 401001001 Access Token校验失败
401 401001003 用户名或者密码不正确
401 401001004 用户已被禁用
401 401001006 系统帐号不允许登录Client
401 401001007 域控被禁用或删除
401 401001008 用户不存在于域控
401 401001009 登录设备已被禁用
401 401001010 登录设备数据需要擦除
401 401001011 该帐号仅支持在绑定设备上登录
401 401001012 密码失效
401 401001013 密码不安全
401 401001014 无效的普通密码
401 401001015 无效的强密码
401 401001016 非本地用户不能修改密码
401 401001017 用户密码为初始密码
401 401001018 密码验证第一次失败
401 401001019 密码验证第二次失败
401 401001020 账号已被锁定 detail: {“remainlockTime”: 2} (统一以分钟为单位)
401 401001021 用户尚未授权
401 401001022 连接域服务器失败
401 401001023 用户不存在
401 401001024 用户密码错误
401 401001025 客户端被强制下线(该帐号在其它客户端登录)
401 401001026 开启密码管控的用户不能修改密码
401 401001027 开启密码管控的用户密码过期
401 401001028 当前站点为分站点模式,无法登录
401 401001029 用户授权过期
401 401001031 您的账号受到IP 网段的限制,无法继续登录
401 401001033 管理员已禁止此类客户端登录。
401 401001034 刷新token不存在或已过期
401 401001035 修改密码时,新密码不能为默认密码。
401 401001036 您所在的网络环境已改变,请重新登录。
401 401001037 请输入验证码
401 401001038 输入的验证码已失效
401 401001039 输入的验证码有误
401 401001040 用户已禁用,请激活
401 401001041 用户已激活,请登录
401 401001042 手机号不合法
401 401001044 短信验证码不正确
401 401001045 短信验证码过期
401 401001046 发送验证码失败
401 401001047 短信激活未开启
401 401001048 邮箱不合法
401 401001049 邮箱已存在
401 401001050 激活失败
401 401001051 管理员已关闭身份证号登录,请重新登录
401 401001052 用户显示名不合法
401 401001053 用户显示名已被占用
401 401001054 邮箱未绑定
401 401001055 该手机号未绑定
401 401001056 验证码输入已达到限定次数
401 401001057 动态密码不能为空,请重新输入
401 401001058 管理员已开启短信身份验证,您尚未绑定手机,无法发送验证码,请联系管理员
401 401001059 动态密码服务异常,请联系管理员
401 401001060 发送失败,您绑定的手机号发生变更,请返回登录重试
401 401001061 动态密码不正确,请重新输入
401 401001062 动态密码已过期,请重新输入
401 401001063 动态错误次数过多,请重新获取
401 401001064 管理员已开启短信身份验证,但短信服务器异常,无法发送验证码,请联系管理员
401 401001065 第三方服务内部错误,请联系管理员
401 401001066 多因子认证服务配置错误,请联系管理员
401 401001067 第三方插件导入失败,请联系管理员
403 403002001 空间配额不足
403 403001002 没有权限执行此操作
403 403001003 只有文档所有者才能进行该操作
403 403001004 个人文档不能设置所有者
403 403001005 不能添加自己或设置管理员为所有者
403 403001006 不能删除自己的所有者配置
403 403001008 配权限时,访问者不存在
403 403001009 个人空间配额不能设置为0
403 403001011 配所有者时,指定用户不存在
403 403002015 操作的对象类型不正确
403 403001020 当前文档已经开启发现共享,导致操作失败。
403 403001021 父目录已经开启发现共享,导致操作失败。
403 403001028 OAuth认证未开启
403 403001029 无法验证ticket
403 403001030 该用户未导入到AnyShare系统中
403 403001031 文档对象被锁定
403 403001032 文件未锁定
403 403001033 只有文件所有者或文件锁定者才能解锁文件
403 403001034 不能对文件夹加锁
403 403001044 当前文档未开启发现共享。
403 403001045 请通过第三方认证网站进行登录
403 403001050 域用户自动登录未开启
403 403001051 只能针对入口文档退出共享
403 403001052 无法访问到该入口文档,不能进行此操作
403 403001053 不能针对个人文档进行退出共享管理
403 403001057 第三方服务器认证失败
403 403001060 不能给归档库配置修改和删除权限
403 403001062 没有发现共享权限
403 403001066 您指定的用户密级低于当前文件的密级,无法对其配置共享。
403 403001071 创建用户失败
403 403001072 修改用户失败
403 403001073 删除用户失败
403 403001074 获取用户信息失败
403 403001075 签名认证失败
403 403001076 创建组织失败
403 403001077 编辑组织失败
403 403001078 删除组织失败
403 403001079 获取组织信息失败
403 403001080 创建部门失败
403 403001081 编辑部门失败
403 403001082 删除部门失败
403 403001083 获取部门信息失败
403 403001084 移动部门失败
403 403001085 添加用户到部门失败
403 403001086 移动用户到部门失败
403 403001087 从部门移除用户失败
403 403001088 获取子部门信息失败
403 403001089 获取子用户信息失败
403 403001090 设置部门或组织负责人失败
403 403001091 取消部门或组织负责人失败
403 403001094 当前无匹配的审核员,本次操作无法生效,请联系管理员。
403 403001095 此条申请已失效或已被其他审核员审核完成。
403 403001096 您的审核权限已失效。
403 403001097 此条申请已失效(访问者已经被删除)
403 403001098 否决申请时,内容不能为空
403 403001099 此条申请已失效(共享者已经被删除)
403 403001100 此条申请已失效(截至时间已经过期)
403 403001101 共享审核已经开启,请使用set协议来进行共享。
403 403001105 当前文档已处于待审核状态,无法发起其他文档流程
403 403001106 登录外部应用失败
403 403001107 当前审核员密级不足,本次操作无法生效,请联系管理员
403 403001108 您的密级不足
403 403001109 发起流程失败,发布的文档不存在
403 403001110 文档流程不存在
403 403001111 发起流程失败,申请理由不能超过1024个字节
403 403001112 审核流程失败,补充说明不能超过1024个字节
403 403001113 无法执行发起流程操作,您对文件/文件夹没有修改权限。
403 403001114 发起流程失败,您的密级小于文档密级
403 403001115 发起流程失败,不能对CID对象进行流程操作。
403 403001116 发起流程失败,审核员密级不足
403 403001117 发起流程失败,流程已失效
403 403001118 该流程申请已失效。
403 403001119 无法进行审批(文档已不存在)。
403 403001120 无法进行审批(源文档路径与目的路径冲突)
403 403001121 内外网数据交换流程中未设置目的路径
403 403001122 当前目录不允许发起内外网数据交换流程
403 403001123 内外网数据交换流程不存在
403 403001124 无法连到内外网数据交换处理服务
403 403001126 内外网数据交换处理服务未注册
403 403001127 卸载口令没有正常启用
403 403001128 口令不正确
403 403001134 共享邀请链接已存在
403 403001135 用户不在该文档权限共享范围内
403 403001136 共享邀请链接功能未开启
403 403001137 涉密和共享审核模式下不允许邀请加入
403 403001146 超出实名共享模板可设定最大权限
403 403001147 超过实名共享模板可设定最大有效期
403 403001152 禁止设置永久有效
403 403001154 当前配额空间小于已用空间
403 403001156 您没有共享个人文档权限,无法进行权限配置。
403 403001158 您没有共享个人文档权限,无法开启共享邀请。
403 403001160 您没有共享个人文档权限,无法开启发现共享。
403 403001166 您没有共享个人文档权限,无法修改共享邀请
403 403001171 用户被冻结
403 403001172 文档创建者被冻结
403 403001173 禁止设置所有者
403 403001174 客户端版本过低
403 403001179 用户未实名认证
403 403001180 文档创建者未实名认证
403 403001185 邮箱地址非法
403 403001186 邮箱地址重复
403 403001187 流程不可见
403 403001188 该目录下文档收发任务已存在
403 403001189 该目录下文档收发任务不存在
403 403001190 存在任务接收者,无法删除任务
403 403001191 无效的组名
403 403001192 联系人组已存在
403 403001193 不能操作临时组
403 403001194 联系人组不存在
403 403001199 接收区不存在
403 403001200 目的位置不合法
403 403001201 退出口令未开启
403 403001202 退出口令错误
404 404001002 获取子部门或子用户信息时,指定部门不存在
404 404001004 获取用户信息时,用户不存在
404 404002005 入口文档记录不存在
404 404002006 请求的文件或目录不存在
404 404001016 客户端升级包未上传
404 404001020 Smtp服务器收件人邮箱地址不合法
404 404001021 Smtp服务器未设置
404 404001022 Smtp邮件发送失败
404 404001023 Smtp服务器不可达
404 404001024 文档不存在
404 404001025 共享邀请链接不存在
404 404001026 文档所有者不存在
404 404001027 系统资源不足,无法访问
404 404001028 发送验证码服务器未开启
404 404001029 短信服务器未设置
404 404001030 动态密码服务器未设置,请联系管理员
404 404001031 发送失败,可能短信服务器未正常启用,请联系管理员
500 500001007 服务器版本不支持该客户端

在线解压缩接口

文件解压缩

此接口支持用户账户调用。

Authorizations:
OAuth2.0
Request Body schema: application/json
required
target_path
required
string

上传目标GNS地址

doc_id
required
string

主文档ID,GNS最后一段

stay_path
string

请求解压缩的目录,全部解压缩为空,部分解压缩传入参数

user_token
string

用户token,应用账号访问时,需要携带用户token

password
string

压缩包密码【暂不支持】

version
string

文件版本: 如果版本为空,默认为最新版本

name
required
string

解压文件保存到文件夹名

ondup
required
integer

解压缩操作只支持: 1 :重命名冲突,则抛异常

  • 1:检查是否重命名,重名则抛异常
  • 2:如果重名冲突,自动重名
  • 3:如果重名冲突,自动覆盖

Responses

Request samples

Content type
application/json
{
  • "target_path": "string",
  • "doc_id": "string",
  • "stay_path": "string",
  • "user_token": "string",
  • "password": "string",
  • "version": "string",
  • "name": "string",
  • "ondup": 0
}

Response samples

Content type
application/json
{
  • "doc_id": "string",
  • "version": "string",
  • "status": "extracting",
  • "level": 0,
  • "size": 0,
  • "details": {
    },
  • "progress": 0,
  • "unarchive_path": "string"
}