使用搜索引擎能力检索文件 - Search
功能介绍
根据搜索范围、父目录、文件名、文件大小区间、更新时间段、所有者等条件搜索空间的文件,普通用户和部门管理员用户可以搜索个人和所在团队的空间,租户管理员可以查询租户下的所有团队空间。
授权信息
当前API调用无需身份策略权限。
URI
POST /koodrive/ose/v1/files/search
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Traceid |
否 |
String |
消息日志跟踪标识(必须58位) |
|
Authorization |
是 |
String |
该字段存储的是Access Token。调用KooDrive的API使用Token认证,拥有Token就代表拥有某种权限,在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。Access Token的获取请参考对应的开发手册,格式参考:Bearer+{access_token} |
|
X-User-Id |
是 |
String |
用户id,用于app鉴权 |
|
X-Date |
是 |
String |
日期,用于app鉴权 |
|
Host |
是 |
String |
地址,用于app鉴权 |
|
language |
否 |
String |
国际化语言标识,符合i18n规范,如zh-CN表示简体中文,en-US表示美式英语,不传默认美式英语 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
searchType |
是 |
String |
查询类型
|
|
pageInfo |
是 |
pageInfo object |
分页信息 |
|
filter |
否 |
filter object |
过滤器 |
|
sortInfo |
否 |
sortInfo object |
排序信息 |
|
recycled |
否 |
Boolean |
是否查询回收站,不传默认false 枚举值:
|
|
recursived |
否 |
Boolean |
是否递归查询子目录文件,默认false |
|
imageProcess |
否 |
String |
图片操作,可用于指定缩略图尺寸,具体取值参照https://support.huaweicloud.com/usermanual-obs/obs_01_0430.html |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
pageSize |
是 |
Integer |
每页大小,取值范围[1,100] |
|
pageCursor |
是 |
String |
起始游标,为空时从第一页开始查询 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
keyWord |
否 |
String |
文件名称,模糊匹配,最长80个字符 |
|
containerId |
否 |
String |
空间id,指定父目录时必传 |
|
parentFolder |
否 |
String |
父目录 |
|
fileType |
否 |
String |
文件类型,枚举值 文件夹 FOLDER("10"), 智能文件夹(该功能目前只有白名单用户使用)SMART_FOLDER("11"), 图片 PICTURE("15"), 视频 VIDEO("20"), word WORD("26"), excel EXCEL("27"), ppt PPT("28"), 音频 AUDIO("30"), 压缩文件 ARCHIVE("35"), 应用 APPLICATION("40"), 其他 OTHER("45"); |
|
updateTimeRange |
否 |
String |
最后更新时间区间 |
|
ownerId |
否 |
String |
文件所有者 |
|
updateStartTime |
否 |
String |
最后更新开始时间,格式如“2024-11-19T16:00:00.000Z” |
|
updateEndTime |
否 |
String |
最后更新结束时间,格式如"2025-05-20T15:59:59.999Z" |
|
fileSuffixList |
否 |
Array of strings |
待筛选文件扩展名列表,最多100个文件拓展名 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
code |
Integer |
响应码,成功返回0,失败返回错误码 |
|
msg |
String |
成功、错误信息 |
|
files |
Array of files objects |
搜索结果 |
|
total |
Integer |
总数 |
|
nextPageCursor |
String |
下一页起始游标,最后一页值为空 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
文件id |
|
fileSuffix |
String |
文件后缀 |
|
fileName |
String |
文件名 |
|
fileType |
String |
文件类型:1-文件, 2目录 |
|
size |
String |
文件大小 |
|
updateTime |
String |
最后更新时间 |
|
namePath |
String |
名称全路径 |
|
idPath |
String |
id全路径 |
|
downloadLinks |
Array of downLoadLinks objects |
图片类型返回,缩略图地址 |
|
teamName |
String |
团队空间返回,部门名称或者群组空间名称 |
|
teamId |
String |
群组id,即部门的id或者群组的id |
|
containerId |
String |
空间id |
|
containerType |
String |
0:部门空间,1:个人空间,2:群组空间 |
|
favorite |
Boolean |
个人空间、团队空间返回文件是否被当前用户收藏 |
|
owner |
String |
团队空间返回owner名称 |
|
attachments |
Attachment object |
附件 |
|
createTime |
String |
创建时间 |
|
editeTime |
String |
编辑时间 |
|
lastEditor |
User object |
最后编辑者 |
|
mimeType |
String |
内容类型字符串,非枚举 |
|
ownerId |
String |
拥有者id |
|
owners |
Array of User objects |
拥有者 |
|
parentFolder |
Array of strings |
父目录ID列表,注意:当前只取第一个父目录Id |
|
properties |
Map<String,String> |
文件公共自定义属性。key-value个数不能超过30个;单个key-value长度不超过124字符 |
|
recycled |
Boolean |
文件是否被放入回收站 |
|
sha256 |
String |
sha256 |
|
userCapabilities |
userCapabilities object |
用户权限 |
|
userProperties |
Array of FileListPrivateProperties objects |
用户拓展属性 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
usage |
String |
用途默认:'content'-实体内容、'thumbnail'-缩略图,业务可以扩展该字段 |
|
assetId |
String |
Asset ID |
|
length |
Long |
文件大小 |
|
versionId |
String |
Asset版本ID |
|
mimeType |
String |
MIME类型 |
|
hash |
String |
Asset关联的资源的hash |
|
sha256 |
String |
Asset关联的资源的sha256 |
|
createdTime |
String |
数据创建时间 |
|
modifiedTime |
String |
数据最后修改时间 |
|
attributes |
Map<String,Object> |
类型属性 |
|
asset |
Asset object |
资产 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
Asset ID |
|
versionId |
String |
Asset版本ID |
|
version |
Long |
版本号 |
|
mimeType |
String |
MIME type |
|
keepPolicy |
Integer |
历史版本的保存策略
|
|
state |
Integer |
数据的状态
|
|
createdTime |
String |
数据创建时间 |
|
modifiedTime |
String |
数据最后修改时间 |
|
lastModifyingUser |
String |
最后一次修改的用户UPID |
|
resource |
Resource object |
资源 |
|
cipher |
Cipher object |
密码器 |
|
attributes |
Map<String,Object> |
类型属性(Key部分使用字母开头的字母加数字组合,Value部分禁止使用emoji字符,不限单个属性长度,限制总大小为16K以内),存在字段如下:
|
|
properties |
Map<String,String> |
扩展属性 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
文件资源ID |
|
hash |
String |
文件资源的hash |
|
length |
Long |
文件资源的长度 |
|
sha256 |
String |
文件的sha256(用于完整性校验) |
|
type |
Integer |
资源类型
|
|
state |
Integer |
数据的状态
|
|
sliceSize |
Long |
分片大小 |
|
hfek |
String |
加密文件的fek的hash,用于type={0} |
|
iv |
String |
加密文件的IV,适用于type={0} |
|
createdTime |
String |
数据创建时间 |
|
modifiedTime |
String |
数据最后修改时间 |
|
objects |
Array of SliceObject objects |
分片对象,适用于type={0,3} |
|
attributes |
Map<String,Object> |
类型属性 |
|
properties |
Map<String,String> |
扩展属性 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
分片ID |
|
number |
Integer |
分片序号,从0开始计,不适用于type={12} |
|
start |
Long |
分片的起始位置,不适用于type={12} |
|
sha256 |
String |
分片的sha256(如果是加密,是指密文的sha256) |
|
length |
Long |
分片的长度(如果是加密,则是密文长度) |
|
bucket |
String |
OBS桶信息 |
|
createdTime |
String |
数据创建时间 |
|
modifiedTime |
String |
数据最后修改时间 |
|
uploadUrl |
EndpointURL object |
上传url |
|
downloadUrl |
EndpointURL object |
下载url |
|
uploadId |
String |
分段上传ID,适用于type={12}且uploadMode=multipart |
|
attributes |
Map<String,Object> |
类型属性 |
|
properties |
Map<String,String> |
扩展属性 |
|
images |
Array of Images objects |
缩略图 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
url |
String |
链接 |
|
method |
String |
请求方法 |
|
headers |
Map<String,String> |
请求头 |
|
forms |
Map<String,String> |
表单参数,适用于type={12}且uploadMode=post |
|
partId |
String |
分段参数,适用于type={12}且uploadMode=multipart |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
algorithm |
String |
加密算法 |
|
hfek |
String |
加密文件的fek的hash,用于type={0,4} |
|
iv |
String |
加密文件的IV,适用于type={0,4} |
|
dataType |
Integer |
数据类型
|
|
keychains |
Array of Keychain objects |
钥匙串 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
key的UUID |
|
type |
Integer |
密钥类型
|
|
algorithm |
String |
加密算法 |
|
ekey |
String |
加密后的key |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
category |
String |
类型,drive#user |
|
userId |
String |
华为用户ID |
|
displayName |
String |
用户显示名 |
|
me |
Boolean |
是否是我 |
|
permissionId |
String |
权限id |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
addChildNodePermission |
Boolean |
是否可以增加子目录/文件 |
|
copyPermission |
Boolean |
是否可以拷贝 |
|
deletePermission |
Boolean |
是否可以删除 |
|
downloadPermission |
Boolean |
是否可以下载内容 |
|
editPermission |
Boolean |
是否可以编辑 |
|
listChildNodePermission |
Boolean |
是否可以list子目录/文件 |
|
removeChildNodePermission |
Boolean |
是否可以移动子目录 |
|
renameFilePermission |
Boolean |
是否可以重命名 |
|
shareFilePermission |
Boolean |
是否可以共享 |
|
uploadPermission |
Boolean |
是否可以上传文件 |
|
viewPermission |
Boolean |
是否可以预览 |
请求示例
搜索文件请求示例。
POST /koodrive/ose/v1/files/search
Authorization:Bearer+10f88*********4791e9ff
{
"searchType" : " personal/team",
"pageInfo" : {
"pageSize" : 100,
"pageCursor" : 1
},
"filter" : {
"keyWord" : "材料",
"containerId" : "123456",
"parentFolder" : "1",
"fileType" : "1",
"sizeRang" : "1024,2048",
"updateTimeRange" : "2023-11-02,2023-11-21",
"ownerId" : "归属用户id"
}
}
响应示例
状态码:200
搜索结果
{
"files" : [ {
"id" : "Fu2A5BQZ1qUk3h1tU6ZlAS66swzlN9mnJ",
"sha256" : "57eafb818ad716aa11b443fb9fc2c1f23875f0c8da49035a8ca98136e4525632",
"fileName" : "KooDrive服务介绍.docx",
"fileSuffix" : "docx",
"fileType" : "26",
"size" : "705395",
"updateTime" : "2024-12-25T06:41:22.873Z",
"idPath" : "DFcz6PEuDwIArootIAAFWbRXM-jxLg8CA1578177668157825025",
"downloadLinks" : [ {
"usage" : "content",
"downloadLink" : "https://b10-obs-ykj-uat-01.obs.cidc-rp-2006.joint.cmecloud.cn/18ad967c9af047fd8b909ed163c0fdb6086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%27KooDrive%25E6%259C%258D%25E5%258A%25A1%25E4%25BB%258B%25E7%25BB%258D.docx&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250103T023324Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=MKRISPBZAJWFHNBJ5WLB%2F20250103%2Fcidc-rp-2006%2Fs3%2Faws4_request&X-Amz-Signature=e518a982307ef9b6d6e4bd8788e421d3488f58f3ed79eb3ab42702ac5c3d7513"
}, {
"usage" : "thumbnail",
"downloadLink" : "https://b10-obs-ykj-uat-01.obs.cidc-rp-2006.joint.cmecloud.cn/18ad967c9af047fd8b909ed163c0fdb6086?x-image-process=image%2Fresize%2Cm_lfit%2Ch_128%2Cw_128&response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%27KooDrive%25E6%259C%258D%25E5%258A%25A1%25E4%25BB%258B%25E7%25BB%258D.docx&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250103T023324Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=MKRISPBZAJWFHNBJ5WLB%2F20250103%2Fcidc-rp-2006%2Fs3%2Faws4_request&X-Amz-Signature=ad55a09e66ddd32c6f9b3cce08c7c9a867c7a579a41200f415fb2918de1ab473"
} ],
"teamName" : "fdsgdsf",
"teamId" : "1578175198769733633",
"containerId" : "IAAFWbRXM-jxLg8CA1578177668157825025",
"containerType" : "0",
"favorite" : false,
"owner" : "hid42638091",
"ownerId" : "1568722386902108288",
"properties" : {
"localCreatedAt" : "",
"localUpdatedAt" : "",
"createUser" : "1568722386902108288",
"lastEditUser" : "1568722386902108288",
"auditResult" : "{\"auditDetail\":\"{}\",\"auditLevel\":10,\"auditResult\":1}"
},
"attachments" : [ {
"assetId" : "1584078561541652992",
"asset" : {
"id" : "1584078561541652992",
"versionId" : "1584078561541652993",
"version" : 49923,
"mimeType" : "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"state" : 0,
"createdTime" : "2024-12-25T06:41:20.050Z",
"modifiedTime" : "2024-12-25T06:41:20.050Z",
"resource" : {
"id" : "1584078561810055808",
"length" : 705395,
"sha256" : "57eafb818ad716aa11b443fb9fc2c1f23875f0c8da49035a8ca98136e4525632",
"object" : {
"id" : "18ad967c9af047fd8b909ed163c0fdb6086",
"start" : 0,
"downloadUrl" : {
"url" : "https://b10-obs-ykj-uat-01.obs.cidc-rp-2006.joint.cmecloud.cn/18ad967c9af047fd8b909ed163c0fdb6086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%27KooDrive%25E6%259C%258D%25E5%258A%25A1%25E4%25BB%258B%25E7%25BB%258D.docx&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250103T023324Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=MKRISPBZAJWFHNBJ5WLB%2F20250103%2Fcidc-rp-2006%2Fs3%2Faws4_request&X-Amz-Signature=e518a982307ef9b6d6e4bd8788e421d3488f58f3ed79eb3ab42702ac5c3d7513",
"method" : "GET"
},
"images" : [ {
"process" : "image/resize,m_lfit,h_128,w_128",
"downloadUrl" : {
"url" : "https://b10-obs-ykj-uat-01.obs.cidc-rp-2006.joint.cmecloud.cn/18ad967c9af047fd8b909ed163c0fdb6086?x-image-process=image%2Fresize%2Cm_lfit%2Ch_128%2Cw_128&response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%27KooDrive%25E6%259C%258D%25E5%258A%25A1%25E4%25BB%258B%25E7%25BB%258D.docx&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250103T023324Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=MKRISPBZAJWFHNBJ5WLB%2F20250103%2Fcidc-rp-2006%2Fs3%2Faws4_request&X-Amz-Signature=ad55a09e66ddd32c6f9b3cce08c7c9a867c7a579a41200f415fb2918de1ab473",
"method" : "GET"
}
} ]
}
},
"attributes" : {
"fileName" : "KooDrive服务介绍.docx",
"localCreatedAt" : "",
"createdBy" : "667706171d1c4ef2a4d7464f3656066c",
"resource" : {
"id" : "1584078561810055808",
"object" : {
"bucket" : "b10-obs-ykj-uat-01",
"objectId" : "18ad967c9af047fd8b909ed163c0fdb6086"
}
},
"localUpdatedAt" : ""
}
},
"versionId" : "1584078561541652993",
"attributes" : {
"fileName" : "KooDrive服务介绍.docx",
"localCreatedAt" : "",
"createdBy" : "667706171d1c4ef2a4d7464f3656066c",
"resource" : {
"id" : "1584078561810055808",
"object" : {
"bucket" : "b10-obs-ykj-uat-01",
"objectId" : "18ad967c9af047fd8b909ed163c0fdb6086"
}
},
"localUpdatedAt" : ""
},
"hash" : "57eafb818ad716aa11b443fb9fc2c1f23875f0c8da49035a8ca98136e4525632",
"length" : 705395,
"mimeType" : "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"usage" : "content",
"sha256" : "57eafb818ad716aa11b443fb9fc2c1f23875f0c8da49035a8ca98136e4525632",
"createdTime" : "2024-12-25T06:41:20.050Z",
"modifiedTime" : "2024-12-25T06:41:20.050Z"
} ],
"createdTime" : "2024-12-25T06:41:19.794Z",
"editedTime" : "2024-12-25T06:41:22.873Z",
"lastEditor" : {
"category" : "drive#user",
"me" : true,
"permissionId" : "1570905506917367936",
"userId" : "NDEzMDA4NjAwMDAwMjc0MTY2NS02Njc3MDYxNzFkMWM0ZWYyYTRkNzQ2NGYzNjU2MDY2Yw",
"displayName" : "hid42638091"
},
"mimeType" : "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"owners" : [ {
"category" : "drive#user",
"me" : true,
"permissionId" : "1570905506917367936",
"userId" : "NDEzMDA4NjAwMDAwMjc0MTY2NS02Njc3MDYxNzFkMWM0ZWYyYTRkNzQ2NGYzNjU2MDY2Yw"
} ],
"parentFolder" : [ "DFcz6PEuDwIArootIAAFWbRXM-jxLg8CA1578177668157825025" ],
"recycled" : false,
"userProperties" : {
"properties" : {
"hidden" : "false"
}
},
"userCapabilities" : {
"addChildNodePermission" : true,
"copyPermission" : true,
"deletePermission" : true,
"downloadPermission" : true,
"editPermission" : true,
"listChildNodePermission" : true,
"removeChildNodePermission" : true,
"renameFilePermission" : true,
"shareFilePermission" : true,
"uploadPermission" : true,
"viewPermission" : true
}
} ],
"total" : 1,
"code" : 0,
"msg" : "成功"
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
搜索结果 |