在线表格批量更新接口
... 2022-10-14 大约 2 分钟
# 在线表格批量更新接口
# 接口说明
该接口可以批量执行多个对在线表格的更新操作,批量操作具有以下特性:
- 批量更新请求中的各个操作会逐个按顺序执行,直到全部执行完成则请求返回,或者其中一个操作报错则不再继续执行后续的操作。
- 每一个更新操作在执行之前都会做请求校验(包括权限校验、参数校验等等),如果校验未通过则该更新操作会报错并返回,不再执行后续操作。
- 因为在线表格本身的协作属性,即便是更新操作被成功执行,在线表格看到的最终结果也不一定是请求操作的结果,其他的编辑行为都可能改变表格数据。
限制:单次批量更新请求的操作数量 <= 5
# 权限说明
本接口需要拥有以下任意一项权限:
scope.sheetscope.sheet.editable
# 请求格式
| 描述 | 定义 |
|---|---|
| Path | /openapi/spreadsheet/v3/files/{fileId}/batchUpdate |
| Method | POST |
| Content-Type | application/json |
| Accept | application/json |
# 请求头部
详见Headers。
# 请求参数
| 参数名 | 类型 | 必选 | 描述 |
|---|---|---|---|
| fileId | string | 是 | 在线表格的唯一标识 |
# 查询参数
无
# 请求体
| 参数名 | 类型 | 必选 | 描述 |
|---|---|---|---|
| requests | array(Request) | 是 | 要执行的批量更新操作 |
# 响应参数
# 响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| code | integer | 业务返回码 |
| message | string | 业务返回码描述 |
| data.responses | array(BatchUpdateResponse) | 请求返回结果的详细信息 |
# 请求包体
POST /openapi/spreadsheet/v3/files/300000000$AAAAAAAAAAAA/batchUpdate HTTP/1.1
Host: docs.qq.com
Access-Token: ACCESS_TOKEN
Client-Id: CLIENT_ID
Open-Id: OPEN_ID
Content-Type: application/json
Content-Length: 195
{"requests":[{"addSheetRequest":{"title":"测试添加子表","rowCount":10,"columnCount":10}}]}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 示例
curl --location --request POST 'https://docs.qq.com/openapi/spreadsheet/v3/files/300000000$AAAAAAAAAAAA/batchUpdate' \
--header 'Access-Token: ACCESS_TOKEN' \
--header 'Client-Id: CLIENT_ID' \
--header 'Open-Id: OPEN_ID' \
--header 'Content-Type: application/json' \
--data-raw '{
"requests": [
{
"addSheetRequest":{
"title": "测试添加子表",
"rowCount": 10,
"columnCount": 10
}
},
{
"deleteDimensionRequest": {
"sheetId": "BB08J2",
"dimension": "COLUMN",
"startIndex": 1,
"endIndex": 3
}
}
]
}'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 响应包体
HTTP/1.1 200 OK
Date: Thu, 28 Jul 2022 15:34:46 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 3
Connection: keep-alive
{"responses":[{"addSheetResponse":{"properties":{"sheetId":"neRpt4", "title":"测试添加子表", "rowCount":0, "columnCount":0, "rowTotal":10, "columnTotal":10}}}, {"deleteDimensionResponse":{"deleted":2}}]}
1
2
3
4
5
6
7
2
3
4
5
6
7
1
2
3
4
5
6
7
2
3
4
5
6
7
# 错误码
| HTTP 状态码 | 业务错误码 | 描述 | 排查建议 |
|---|---|---|---|
| 400 | 400001 | 请求参数错误 | 确认传入的参数是否合法 |
| 401 | 400006 | 该操作未授权 | 确认对操作的资源是否具有相应的授权,以及用户票据是否正确 |
| 429 | 400007 | 请求数超过限制 | 请求数超过限频,请降低调用频率 |
| 500 | 400010 | 服务内部错误 | 服务端错误,请联系开发者 |