文件搜索

说明

目前支持标准模式,不支持托管模式。用户可以通过/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规则说明:

  1. 支持的数据类型:

    a. 基本类型:long、string、bool、double

    b. 复合类型:array,date(时间类型,用双引号或单引号括起来,与字符串类型一致。格式"2006-01-02T00:00:00",只支持零时区)

  2. 基本类型支持的搜索:

    a. long: =, <, >, <=, >=

    b. string: = (精确搜索), prefix(前缀搜索,name字段不支持), match(模糊搜索,只有name字段支持)

    c. bool: = 

    d. double: =, <, >, <=, >= 

  3. 复合类型支持的搜索:

    a. array: in(多条件的=)

    b. date: =, <, >, <=, >=

  4. 逻辑操作支持:not、and、or

  5. 支持括号,优先级为:括号 > not > and > or

query举例:

  1. 精确查询

    // 查询文件名为 “汇报材料.ppt” 的文件
    name = "汇报材料.ppt"
  2. 范围查询

    // 查询2019年1月14日前创建的文件(时间为零时区)
    created_at < "2019-01-14T00:00:00"
  3. 模糊匹配

    // 查询文件名包含 “汇报” 的文件
    name match "汇报"
  4. 逻辑组合查询

    // 查询2019年1月14号创建的文件(时间为零时区)
    created_at > "2019-01-14T00:00:00" and created_at < "2019-01-15T00:00:00"
  5. 复杂逻辑查询

    // 查询文件size大于1024并且hidden为false并且file_extension不等于“mp4”的文件
    size > 1024 and hidden = false and not file_extension = 'mp4'
  6. 数组查询

    // 查询后缀名为jpg、png或者gif的文件
    file_extension in ["jpg", "png", "gif"]

order_by规则:

  • ASC代表正序,DESC代表逆序

  • 语法为 字段名 + 空格 + ASC/DESC

  • 如果多个字段排序则需要用逗号隔开

  • 前面的规则优先级高

order_by举例:

  1. 单个规则正序

    // 按名称正序
    name ASC
  2. 单个规则逆序

    // 按创建时间逆序
    created_at DESC
  3. 多个排序规则

    // 先按创建时间逆序,如果创建时间相同,则按名称正序
    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 接口返回一样。