目前支持标准模式,不支持托管模式。用户可以通过/file/search接口搜索有列举权限的drive下的文件,不支持搜索回收站中的文件。
请求
POST /v2/file/search
请求参数字段说明:
名称 | 位置 | 类型 | 必选 | 说明 |
Authorization | header | string | 是 | access_token |
drive_id | body | string | 否 | 待搜索的drive ID |
drive_id_list | body | string array | 否 | 待搜索的drive ID数组,如["1","2"] |
query | body | string | 是 | 查询语法字符串,详细说明见下文。最大长度4096字符 |
order_by | body | string | 是 | 搜索结果排序的语法,详细说明见下文。最大长度128字符 |
limit | body | integer (int32) | 否 | 返回数据最大条数,范围:[1-100],默认:50 |
marker | body | string | 否 | 查询起始标识,下发了marker参数则忽略query |
url_expire_sec | body | integer (int64) | 否 | 请求返回URL的有效期时间,单位秒,范围:[10,14400] |
drive_id和drive_id_list,两个参数需要传递其中一个,参数drive_id不为空时,忽略drive_id_list。
query规则说明:
支持的数据类型:
a. 基本类型:long、string、bool、double
b. 复合类型:array,date(时间类型,用双引号或单引号括起来,与字符串类型一致。格式"2006-01-02T00:00:00",只支持零时区)
基本类型支持的搜索:
a. long: =, <, >, <=, >=
b. string: = (精确搜索), prefix(前缀搜索,name字段不支持), match(模糊搜索,只有name字段支持)
c. bool: =
d. double: =, <, >, <=, >=
复合类型支持的搜索:
a. array: in(多条件的=)
b. date: =, <, >, <=, >=
逻辑操作支持:not、and、or
支持括号,优先级为:括号 > not > and > or
query举例:
精确查询
// 查询文件名为 “汇报材料.ppt” 的文件 name = "汇报材料.ppt"
范围查询
// 查询2019年1月14日前创建的文件(时间为零时区) created_at < "2019-01-14T00:00:00"
模糊匹配
// 查询文件名包含 “汇报” 的文件 name match "汇报"
逻辑组合查询
// 查询2019年1月14号创建的文件(时间为零时区) created_at > "2019-01-14T00:00:00" and created_at < "2019-01-15T00:00:00"
复杂逻辑查询
// 查询文件size大于1024并且hidden为false并且file_extension不等于“mp4”的文件 size > 1024 and hidden = false and not file_extension = 'mp4'
数组查询
// 查询后缀名为jpg、png或者gif的文件 file_extension in ["jpg", "png", "gif"]
order_by规则:
ASC代表正序,DESC代表逆序
语法为 字段名 + 空格 + ASC/DESC
如果多个字段排序则需要用逗号隔开
前面的规则优先级高
order_by举例:
单个规则正序
// 按名称正序 name ASC
单个规则逆序
// 按创建时间逆序 created_at DESC
多个排序规则
// 先按创建时间逆序,如果创建时间相同,则按名称正序 created_at DESC,name ASC
支持搜索和排序的字段:
字段名 | 类型 | 可搜索 | 可排序 | 描述 |
parent_file_id | STRING | ✔️ | — | 固定目录搜索,只搜索一级 |
name | STRING | ✔️ | ✔️ | 文件名(模糊分词),可模糊搜索 |
type | STRING | ✔️ | ✔️ | 文件类型file、folder |
file_extension | STRING | ✔️ | — | 文件后缀名 |
description | STRING | ✔️ | — | 描述(single_word分词),可短语匹配 |
mime_type | STRING | ✔️ | — | 文件mimeType搜索 |
starred | BOOL | ✔️ | — | 是否收藏 |
created_at | DATE | ✔️ | ✔️ | 创建时间 |
updated_at | DATE | ✔️ | ✔️ | 修改时间 |
status | STRING | ✔️ | — | 文件状态 |
hidden | BOOL | ✔️ | — | 是否隐藏文件 |
size | LONG | ✔️ | ✔️ | 文件大小 |
image_time | DATE | ✔️ | ✔️ | 照片拍摄时间 |
last_access_at | DATE | ✔️ | ✔️ | 最近获取时间 |
category | STRING | ✔️ | — | 文件类型,image、video、doc、audio、app、others |
label | STRING | ✔️ | — | 系统标签名称 |
face_group_id | STRING | ✔️ | — | 人脸分组ID, 由分组列表接口获取,通过该字段进行查询分组下的照片 |
address | STRING | ✔️ | — | 地址,如国家(中国)、省份(浙江省)、城市(杭州市)、区域(西湖区)、城镇(西湖街道) |
LONG: 长整型(int64)
BOOL: 布尔类型
DATE: 时间类型,用双引号或单引号括起来,与字符串类型一致。格式"2006-01-02T00:00:00",只支持零时区。
STRING: 字符串类型
返回
同 list files 接口返回一样。