主题
获取单元格选区数据
获取指定工作表内的单元格选区数据
基本信息
请求方法:GET
请求路径:/api/v1/openapi/et/:file_token/sheets/:sheet_idx/cells
请求主机:developer.kdocs.cn
限流频次
应用类型 | 限额 |
---|---|
测试应用 | 10,000 次/天 |
正式应用 | 10,000,000 次/天 |
权限范围
要调用此 API,需要以下权限
权限值 | 显示名称 | 权限说明 |
---|---|---|
access_personal_files | 访问个人文档 | 访问用户个人文档列表 |
Path 参数
参数 | 必须 | 类型 | 说明 |
---|---|---|---|
file_token | 是 | string | 文档 ID |
sheet_id | 是 | integer | sheet 索引 |
Query 参数
参数 | 必须 | 类型 | 说明 |
---|---|---|---|
access_token | 是 | string | |
row_from | 是 | integer | 行开始索引 |
row_to | 是 | integer | 行结束索引 |
col_from | 是 | integer | 列开始索引 |
col_to | 是 | integer | 列结束索引 |
with_pic_url | 否 | boolean | 如果单元格数据中有图片,是否返回其下载地址,默认 false 即不返回 |
提示
row_from, row_to, col_from, col_to 四元组确定选区,值从 0 开始,例如 A1 单元格的坐标为 (row: 0, col: 0)
返回参数
参数 | 必须 | 类型 | 说明 |
---|---|---|---|
code | 是 | integer | 错误码 |
data | 是 | data {} | 响应数据 |
响应参数注意项:
row_from
, row_to
, col_from
, col_to
四元组描述某个单元格, 也可表示某个单元格是否合并的情况
单元格图片分三种:(云空间,本地,附件),皆返回图片在文档内的唯一标识 pic_key
,可以通过获取文档内图片地址接口获取其下载地址; 如果在请求时提供了 with_pic_url=true
则会额外返回单元格图片下载地址 pic_url
pic_url
有效期:
- 云空间图片:该
pic_url
和插入云空间图片的url
一致 - 本地图片:5 分钟
- 附件图片:10 分钟
示例
请求示例
curl --request GET \
--url 'https://developer.kdocs.cn/api/v1/openapi/et/1111/sheets/2222/cells?access_token=xxxx&row_from=0&row_to=2&col_from=0&col_to=2'
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://developer.kdocs.cn/api/v1/openapi/et/1111/sheets/2222/cells?access_token=xxxx&row_from=0&row_to=2&col_from=0&col_to=2")
.get()
.build();
Response response = client.newCall(request).execute();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://developer.kdocs.cn/api/v1/openapi/et/1111/sheets/2222/cells?access_token=xxxx&row_from=0&row_to=2&col_from=0&col_to=2"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import http.client
conn = http.client.HTTPSConnection("developer.kdocs.cn")
conn.request("GET", "/api/v1/openapi/et/1111/sheets/2222/cells?access_token=xxxx&row_from=0&row_to=2&col_from=0&col_to=2")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://developer.kdocs.cn/api/v1/openapi/et/1111/sheets/2222/cells?access_token=xxxx&row_from=0&row_to=2&col_from=0&col_to=2",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://developer.kdocs.cn/api/v1/openapi/et/1111/sheets/2222/cells?access_token=xxxx&row_from=0&row_to=2&col_from=0&col_to=2");
xhr.send(data);
const http = require("https");
const options = {
"method": "GET",
"hostname": "developer.kdocs.cn",
"port": null,
"path": "/api/v1/openapi/et/1111/sheets/2222/cells?access_token=xxxx&row_from=0&row_to=2&col_from=0&col_to=2",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://developer.kdocs.cn/api/v1/openapi/et/1111/sheets/2222/cells?access_token=xxxx&row_from=0&row_to=2&col_from=0&col_to=2");
CURLcode ret = curl_easy_perform(hnd);
var client = new RestClient("https://developer.kdocs.cn/api/v1/openapi/et/1111/sheets/2222/cells?access_token=xxxx&row_from=0&row_to=2&col_from=0&col_to=2");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
返回示例
{
"code": 0,
"data": {
"cells": [
{
"cell_text": "111",
"col_from": 0,
"col_to": 0,
"num_format": "G/通用格式",
"origin_cell_value": "",
"row_from": 0,
"row_to": 0
},
{
"cell_text": "=DISPIMG(\"ID_BAC4AD9DB58D40B99CD2696106F1439B\",1)",
"col_from": 4,
"col_to": 4,
"is_cell_pic": true,
"num_format": "G/通用格式",
"origin_cell_value": "=DISPIMG(\"ID_BAC4AD9DB58D40B99CD2696106F1439B\",1)",
"pic_key": "ravXFmauNdDdDnapWimCvn",
"row_from": 30,
"row_to": 30,
"tag": "attachment"
}
]
}
}
错误码
请参考错误码说明