# 设置下拉列表

在电子表格工作表中为指定区域添加下拉列表选项，并设置下拉列表的属性，包括是否支持多选、设置下拉选项样式等。若一个数据区域中已有数据，支持将有效数据直接转为下拉列表中的选项。

## 使用限制

单次调用该接口，最多支持为 5,000 行、100 列设置下拉列表。

## 请求

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

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | 通过访问凭证（access_token）对调用者身份进行鉴权。可选值：<br>- `tenant_access_token`：	租户授权凭证。应用代表租户（即企业或团队）执行对应操作。示例值："Bearer t-7f1bcd13fc57d46bac21793aabcef"<br>- `user_access_token`：用户授权凭证。应用代表用户执行对应操作。示例值："Bearer u-7f1bcd13fc57d46bac21793aabcef"<br>了解更多，参考[获取访问凭证](https://open.feishu.cn/document/ukTMukTMukTM/uMTNz4yM1MjLzUzM)。
Content-Type | string | 是 | **固定值**："application/json; charset=utf-8"

### 路径参数

名称 | 类型 | 描述
---|---|---
spreadsheetToken | 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) | **示例值**："Iow7sNNEphp3WbtnbCscPqabcef"

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
range | string | 是 | 设置下拉选项的范围。格式为 `<sheetId>!<开始位置>:<结束位置>`。其中：<br>- `sheetId` 为工作表 ID，通过[获取工作表](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/query) 获取。<br>- `<开始位置>:<结束位置>` 为工作表中单元格的范围，数字表示行索引，字母表示列索引。如 `A2:B2` 表示该工作表第 2 行的 A 列到 B 列。`range`支持四种写法，详情参考[电子表格概述](https://open.feishu.cn/document/ukTMukTMukTM/uATMzUjLwEzM14CMxMTN/overview)。<br>**示例值**："8fe9d6!C1:H14"
dataValidationType | string | 是 | 数据验证的类型。支持下拉列表，请填写 "list"。
dataValidation | / | 是 | 下拉列表规则属性
conditionValues | array&lt;string&gt; | 是 | 下拉列表选项的值。<br>**数据校验规则**：<br>- 单个值需为字符串类型且不能包含 ","<br>- 单个值的长度不可超过 100 字符<br>- 选项值的个数不可超过 500 个<br>**示例值**：["2", "89", "3","2"]
options | / | 否 | 下拉选项其它配置，包括是否支持多选、是否设置下拉选项样式等。
multipleValues | bool | 否 | 是否支持多选选项。可选值：<br>- false：不支持多选<br>- true：支持多选<br>**默认值**：false，即不支持多选选项
highlightValidData | bool | 否 | 是否为下拉选项设置颜色。可选值：<br>- false：不设置颜色<br>- true：为下拉选项设置颜色。需进一步配置 colors 参数<br>**默认值**：false，即不设置颜色
colors | array&lt;string&gt; | 否 | 指定下拉选项的颜色。格式为 RGB 16 进制，如 "#fffd00"。当 `highlightValidData` 为 true 时，该参数必填。颜色将与 conditionValues 中的值按顺序一一对应。<br>**示例值**：["#1FB6C1", "#F006C2", "#FB16C3","#FFB6C1"]

### 请求体示例

```json
{
    "range":"yuNGtr!A2:A100",
    "dataValidationType":"list",
    "dataValidation":{
        "conditionValues":["2", "89", "3","2"],
        "options":{
            "multipleValues":true,
            "highlightValidData":true,
            "colors":["#1FB6C1", "#F006C2", "#FB16C3","#FFB6C1"]
        }
    }
}
```
###  cURL 请求示例
```bash
curl --location --request POST 'https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/shtcngNygNfuqhxTBf588jabcef/dataValidation' \
--header 'Authorization: Bearer t-5be16bd570d0437444c40d5e6b5584109e61b0b1' \
--header 'Content-Type: application/json' \
--data-raw '{
    "range":"BzY8T5!A2:A100",
    "dataValidationType":"list",
    "dataValidation":{
        "conditionValues":["2", "89", "3"],
        "options":{
            "multipleValues":true,
            "highlightValidData":true,
            "colors":["#1FB6C1", "#F006C2", "#FB16C3"]
        }
    }
}'
  ```
 ## 响应

### 响应体

|参数|类型|必须|说明|
|--|-----|--|----|
|code|int|是|状态码，0 代表成功|
|msg|string|否|状态信息|

### 响应体示例  

```json
{
    "code": 0,
    "msg": "Success"
}
```  

### 错误码

具体可参考：[服务端错误码说明](https://open.feishu.cn/document/ukTMukTMukTM/ugjM14COyUjL4ITN)