在线表格批量更新接口

... 2022-10-14 大约 2 分钟

# 在线表格批量更新接口

# 接口说明

该接口可以批量执行多个对在线表格的更新操作,批量操作具有以下特性:

  1. 批量更新请求中的各个操作会逐个按顺序执行,直到全部执行完成则请求返回,或者其中一个操作报错则不再继续执行后续的操作。
  2. 每一个更新操作在执行之前都会做请求校验(包括权限校验、参数校验等等),如果校验未通过则该更新操作会报错并返回,不再执行后续操作。
  3. 因为在线表格本身的协作属性,即便是更新操作被成功执行,在线表格看到的最终结果也不一定是请求操作的结果,其他的编辑行为都可能改变表格数据。

限制:单次批量更新请求的操作数量 <= 5

# 权限说明

本接口需要拥有以下任意一项权限:

  • scope.sheet
  • scope.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
1
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
1
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
1
2
3
4
5
6
7

# 错误码

HTTP 状态码 业务错误码 描述 排查建议
400 400001 请求参数错误 确认传入的参数是否合法
401 400006 该操作未授权 确认对操作的资源是否具有相应的授权,以及用户票据是否正确
429 400007 请求数超过限制 请求数超过限频,请降低调用频率
500 400010 服务内部错误 服务端错误,请联系开发者

查询更多业务返回码

上次编辑于: 2024年3月21日 15:58
贡献者: weixinqiu , livlin , muyanyang , mylochen