文档首页/ 云空间服务 KooDrive/ API参考/ API/ 文件管理/ 使用搜索引擎能力检索文件
更新时间:2025-03-14 GMT+08:00
分享

使用搜索引擎能力检索文件

功能介绍

根据搜索范围、父目录、文件名、文件大小区间、更新时间段、所有者等条件搜索空间的文件,普通用户和部门管理员用户可以搜索个人和所在团队的空间,租户管理员可以查询租户下的所有团队空间。

URI

POST /koodrive/ose/v1/files/search

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

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表示美式英语,不传默认美式英语

表2 请求Body参数

参数

是否必选

参数类型

描述

searchType

String

查询类型

  • personal:个人空间

  • team:团队空间

pageInfo

pageInfo object

分页信息

filter

filter object

过滤器

sortInfo

sortInfo object

排序信息

recycled

Boolean

是否查询回收站,不传默认false 枚举值:

  • true:查回收站文件

  • false:查对应空间非回收站

recursived

Boolean

是否递归查询子目录文件,默认false

imageProcess

String

图片操作,可用于指定缩略图尺寸,具体取值参照https://support.huaweicloud.com/usermanual-obs/obs_01_0430.html

表3 pageInfo

参数

是否必选

参数类型

描述

pageSize

Integer

每页大小,取值范围[1,100]

pageCursor

String

起始游标,为空时从第一页开始查询

表4 filter

参数

是否必选

参数类型

描述

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

文件所有者

表5 sortInfo

参数

是否必选

参数类型

描述

sortType

String

枚举类型:

  • fileName:文件名

  • size:文件大小

  • type:文件格式

  • updateTime:最后更新时间

  • createTime:创建时间

  • recycledTime:删除时间

  • fileSuffix:文件格式小类

sortDirection

String

枚举类型:

  • desc:降序

  • asc:升序列

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

code

Integer

响应码,成功返回0,失败返回错误码

msg

String

成功、错误信息

files

Array of files objects

搜索结果

total

Integer

总数

nextPageCursor

String

下一页起始游标,最后一页值为空

表7 files

参数

参数类型

描述

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

用户拓展属性

表9 Attachment

参数

参数类型

描述

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

资产

表10 Asset

参数

参数类型

描述

id

String

Asset ID

versionId

String

Asset版本ID

version

Long

版本号

mimeType

String

MIME type

keepPolicy

Integer

历史版本的保存策略

  • 0:自动清理,保留两个版本,第三个版本时淘汰最早的(目的是为了防止并发场景下获取失败)

  • 1:永久保存

state

Integer

数据的状态

  • 0:可用

  • 1:不可用

  • 2:临时

  • 3:留存(不可飞速)

  • 4:待割接

createdTime

String

数据创建时间

modifiedTime

String

数据最后修改时间

lastModifyingUser

String

最后一次修改的用户UPID

resource

Resource object

资源

cipher

Cipher object

密码器

attributes

Map<String,Object>

类型属性(Key部分使用字母开头的字母加数字组合,Value部分禁止使用emoji字符,不限单个属性长度,限制总大小为16K以内),存在字段如下:

  • pictureMetadata:图片属性数据,参见PictureMetadata定义

  • videoMetadata:视频属性数据,参见VideoMetadata定义

  • audioMetadata:音频属性数据,参见AudioMetadata定义

  • contentDisposition:下载附件未指定response-content-disposition,自动使用该字段填充(resource.type=12生效)

properties

Map<String,String>

扩展属性

表11 Resource

参数

参数类型

描述

id

String

文件资源ID

hash

String

文件资源的hash

length

Long

文件资源的长度

sha256

String

文件的sha256(用于完整性校验)

type

Integer

资源类型

  • 0:密文分片文件

  • 3:明文分片文件

  • 12:明文单片文件

state

Integer

数据的状态

  • 0:可用

  • 1:不可用

  • 2:临时

  • 3:留存(不可飞速)

  • 4:待割接

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>

扩展属性

表12 SliceObject

参数

参数类型

描述

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

缩略图

表13 EndpointURL

参数

参数类型

描述

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

表14 Images

参数

参数类型

描述

process

String

文件资源名称

downloadUrl

EndpointURLMetadata object

文件上传或下载的URL结构

表15 EndpointURLMetadata

参数

参数类型

描述

url

String

URL

method

String

http method

表16 Cipher

参数

参数类型

描述

algorithm

String

加密算法

hfek

String

加密文件的fek的hash,用于type={0,4}

iv

String

加密文件的IV,适用于type={0,4}

dataType

Integer

数据类型

  • 11:同步盘

keychains

Array of Keychain objects

钥匙串

表17 Keychain

参数

参数类型

描述

id

String

key的UUID

type

Integer

密钥类型

  • 1:efek

  • 2:zfek

  • 3:sfek

algorithm

String

加密算法

ekey

String

加密后的key

表18 User

参数

参数类型

描述

category

String

类型,drive#user

userId

String

华为用户ID

displayName

String

用户显示名

me

Boolean

是否是我

permissionId

String

权限id

表19 userCapabilities

参数

参数类型

描述

addChildNodePermission

Boolean

是否可以增加子目录/文件

copyPermission

Boolean

是否可以拷贝

deletePermission

Boolean

是否可以删除

downloadPermission

Boolean

是否可以下载内容

editPermission

Boolean

是否可以编辑

listChildNodePermission

Boolean

是否可以list子目录/文件

removeChildNodePermission

Boolean

是否可以移动子目录

renameFilePermission

Boolean

是否可以重命名

shareFilePermission

Boolean

是否可以共享

uploadPermission

Boolean

是否可以上传文件

viewPermission

Boolean

是否可以预览

表20 FileListPrivateProperties

参数

参数类型

描述

properties

Map<String,String>

扩展属性(不限单个属性长度,限制总大小为16K以内)

请求示例

搜索文件请求示例。

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

搜索结果

相关文档