使用搜索引擎能力检索文件
功能介绍
根据搜索范围、父目录、文件名、文件大小区间、更新时间段、所有者等条件搜索空间的文件,普通用户和部门管理员用户可以搜索个人和所在团队的空间,租户管理员可以查询租户下的所有团队空间。
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 |
文件所有者 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
code |
Integer |
响应码,成功返回0,失败返回错误码 |
msg |
String |
成功、错误信息 |
files |
Array of files objects |
搜索结果 |
total |
Integer |
总数 |
nextPageCursor |
String |
下一页起始游标,最后一页值为空 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
文件id |
fileSuffix |
String |
文件后缀 |
fileName |
String |
文件名 |
fileType |
String |
文件类型 |
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 |
URL |
method |
String |
http method |
headers |
Map<String,String> |
http headers |
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 |
搜索结果 |