# 创建筛选

在电子表格工作表的指定范围内，设置筛选条件，创建筛选。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter
HTTP Method | POST
接口频率限制 | [20 次/分钟](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 查看、评论、编辑和管理云空间中所有文件(drive:drive)<br>查看、评论、编辑和管理电子表格(sheets:spreadsheet)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>或<br>`user_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer u-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)
Content-Type | string | 是 | **固定值**："application/json; charset=utf-8"

### 路径参数

名称 | 类型 | 描述
---|---|---
spreadsheet_token | string | 电子表格的 token。可通过以下两种方式获取。了解更多，参考[电子表格概述](https://open.feishu.cn/document/ukTMukTMukTM/uATMzUjLwEzM14CMxMTN/overview)。<br>- 电子表格的 URL：https://sample.feishu.cn/sheets/==Iow7sNNEphp3WbtnbCscPqabcef==<br>- 调用[获取文件夹中的文件清单](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/drive-v1/file/list)<br>**示例值**："Iow7sNNEphp3WbtnbCscPqabcef"
sheet_id | string | 工作表 ID，通过[获取工作表](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/query) 获取。<br>**示例值**："8fe9d6"

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
range | string | 是 | 设置筛选的应用范围。支持以下五种写法，了解更多，参考[筛选指南](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter/filter-user-guide)。<br>- `sheetId`：填写实际的工作表 ID，表示将筛选应用于整表<br>- `sheetId!{开始行索引}:{结束行索引}` ：填写工作表 ID 和行数区间，表示将筛选应用于整行<br>- `sheetId!{开始列索引}:{结束列索引}`：填写工作表 ID 和列的区间，表示将筛选应用于整列<br>- `sheetId!{开始单元格}:{结束单元格}`：填写工作表 ID 和单元格区间，表示将筛选应用于单元格选定的区域中<br>- `sheetId!{开始单元格}:{结束列索引}`：填写工作表 ID、起始单元格和结束列，表示省略结束行，使用表格的最后行作为结束行<br>**示例值**："8fe9d6!A1:H14"
col | string | 是 | 设置应用筛选条件的列。<br>**示例值**："E"
condition | condition | 是 | 设置筛选条件。
filter_type | string | 是 | 筛选类型，枚举值如下所示。了解更多，参考[筛选指南](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter/filter-user-guide)。<br>- multiValue ：多值筛选<br>- number ：数字筛选<br>- text ：文本筛选<br>- color ：颜色筛选<br>- clear ：清除某列的筛选条件<br>**示例值**："number"
compare_type | string | 否 | 比较类型<br>**示例值**："less"
expected | string\[\] | 是 | 筛选参数<br>**示例值**：["50%"]

### 请求体示例
```json
{
    "range": "8fe9d6!A1:H14",
    "col": "E",
    "condition": {
        "filter_type": "number",
        "compare_type": "less",
        "expected": [
            "50%"
        ]
    }
}
```

### cURL 请求示例
```bash
curl --location --request POST 'https://open.feishu.cn/open-apis/sheets/v3/spreadsheets/shtcnSUVpFeJ7Q2yVN9/sheets/6e2914/filter' \
--header 'Authorization: Bearer t-70f073c1e09bf61ae4da4272d70dae02c345e620' \
--header 'Content-Type: application/json' \
--data-raw '{

"range": "6e2914!C1:H14",
    "col": "E",
    "condition": {
        "filter_type": "number",
        "compare_type": "less",
        "expected": ["50%"]
    }
}'
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {}
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
200 | 1310234 | Marshal Error | 服务内部错误，[详询客服](https://applink.feishu.cn/client/helpdesk/open?id=6626260912531570952)
500 | 1315203 | Server Error | 服务内部错误，[详询客服](https://applink.feishu.cn/client/helpdesk/open?id=6626260912531570952)
500 | 1315201 | Server Error | 服务内部错误，[详询客服](https://applink.feishu.cn/client/helpdesk/open?id=6626260912531570952)
400 | 1310235 | Retry Later | 请求超时，一般是由于服务器任务过多。请稍后重试
400 | 1310236 | Wrong Filter Value | 筛选条件参数有误，请检查筛选条件
400 | 1310215 | Sheet Id Not Found | 工作表 ID 未找到。检查工作表的 ID 是否正确。获取方式见[获取工作表](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/query)
400 | 1310214 | SpreadSheet Not Found | 表格 token 未找到。检查表格 token 是否正确。可通过以下两种方式获取。了解更多，参考[电子表格概述](https://open.feishu.cn/document/ukTMukTMukTM/uATMzUjLwEzM14CMxMTN/overview)。<br>- 电子表格的 URL：https://sample.feishu.cn/sheets/==Iow7sNNEphp3WbtnbCscPqabcef==<br>- 调用[获取文件夹中的文件清单](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/drive-v1/file/list)
400 | 1310218 | Locked Cell | 筛选范围被保护。请[取消保护范围](https://open.feishu.cn/document/ukTMukTMukTM/uYTM5YjL2ETO24iNxkjN)后再筛选
400 | 1310213 | Permission Fail | 没有文档相应权限。参考[云文档常见问题](https://open.feishu.cn/document/ukTMukTMukTM/uczNzUjL3czM14yN3MTN)问题 2 和问题 3 开通应用权限和文档权限
400 | 1310206 | Empty Sheet Id | 工作表 ID 为空。请填写工作表的 ID。获取方式见[获取工作表](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/query)
400 | 1310229 | Wrong URL Param | URL 中路径参数错误。请检查 URL 中的路径参数
400 | 1310211 | Wrong Sheet Id | 工作表 ID 错误。请检查工作表的 ID 是否正确。获取方式见[获取工作表](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/query)
400 | 1310242 | In Mix state | 当前表格数据位于用户机房，正在将数据恢复到 SaaS 环境中，请稍后重试
400 | 1310203 | Fail | 由于未知错误，请求失败。请稍后重试
400 | 1310202 | Wrong Range | 区域范围错误。请检查 range 参数
400 | 1310249 | Spreadsheet Deleted | 表格已被删除。请手动恢复表格后重试

