Files
feishu_bitable/多维表格常见问题.md
2026-03-23 10:45:02 +08:00

194 lines
9.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 多维表格常见问题
## 1. 如何在多维表格中上传附件?
**第 1 步**:调用[上传素材](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/drive-v1/media/upload_all)或[分片上传素材](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/drive-v1/media/upload_prepare)接口将附件上传至多维表格,获取文件的 file_token。
**第 2 步**:调用[新增记录](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-record/create)或[更新记录](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-record/update)接口,将 file_token 的值传入多维表格中。请求示例如下所示:
file_token 仅支持在当前多维表格中使用,要上传附件至其他多维表格,你仍需要重新上传素材获取新的 file_token。
```json
{
"records": [
{
"fields": {
"附件": [
{
"file_token": "boxbcCFb2dBwMK9S8kDILk1tayh"
},
{
"file_token": "boxbcCFb2dBwMK9S8kDILk1tayh"
}
]
}
},
{
"fields": {
"附件": [
{
"file_token": "boxbcCFb2dBwMK9S8kDILk1tayh"
},
{
"file_token": "boxbcCFb2dBwMK9S8kDILk1tayh"
}
]
}
}
]
}
```
## 2. 如何下载多维表格中的附件?
**第 1 步**:调用[查询记录](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-record/search)获取多维表格中附件的 file_token。
**第 2 步**:调用[下载素材](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/drive-v1/media/download)或者[获取素材临时下载链接](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/drive-v1/media/batch_get_tmp_download_url)接口下载附件。
若多维表格开启了高级权限,你需要添加 extra 参数作为 URL 查询参数鉴权。你可通过以下方式获取 extra 参数:
1. 调用[查询记录](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-record/search)接口,响应示例中会返回附件的下载链接,如下所示:
```json
{
"code": 0,
"data": {
"has_more": false,
"items": [
{
"fields": {
"附件": [
{
"file_token": "RSkabsaphoy6yVxK0mGcggabcef",
"name": "74d2c703524489dbabcef.png",
"size": 87123,
"tmp_url": "https://open.feishu.cn/open-apis/drive/v1/medias/batch_get_tmp_download_url?file_tokens=RSkabsaphoy6yVxK0mGcggabcef&extra={"bitablePerm":{"tableId":"tblz8ExGaVhuiSD1","rev":32}}", // 素材临时下载链接对应的 URL 值,需要对此字符串进行 URL 编码
"type": "image/png",
"url": "https://open.feishu.cn/open-apis/drive/v1/medias/RSkabsaphoy6yVxK0mGcggabcef/download?extra={"bitablePerm":{"tableId":"tblz8ExGaVhuiSD1","rev":32}}" // 下载素材对应的 URL 值,需要对此字符串进行 URL 编码
}
]
},
"record_id": "recbMzD0zT"
}
],
"total": 1
},
"msg": "success"
}
```
2. 构建示例如下所示:
```JSON
{"bitablePerm":{"tableId":"tblO6OeNZxfabcef","attachments":{"fld32zZi5I":{"rec0BuOHq":["boxbcsQNT0JsmrztOnX530abcef"]}}}}
// 转义后
https://open.feishu.cn/open-apis/drive/v1/medias/boxbcsQNT0JsmrztOnX530abcef/download?extra=%7B%22bitablePerm%22%3A%7B%22tableId%22%3A%22tblO6OeNZxfabcef%22%2C%22attachments%22%3A%7B%22fld32zZi5I%22%3A%7B%22rec0BuOHq%22%3A%5B%22boxbcsQNT0JsmrztOnX530abcef%22%5D%7D%7D%7D%7D
```
## 3. 调用多维表格相关接口,返回 1254040、1254041、1254042、1254043、1254044 等 NotFound 错误码,该如何解决?
上述这些错误码表示未找到到标识各类 ID 对应的资源。你可参考以下方法解决:
1. 确认 ID 是否正确。你可参考[多维表格概述](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/bitable-overview)标获取各类资源的 ID
2. 如果 ID 对应的资源刚创建完成后出现此类报错,可能是遇到了服务器的主从延迟问题。你可尝试等待几秒之后重试。
## 4. 调用查询记录接口成功,数据返回为空,但实际多维表格存在数据,该如何解决?
这一般是由于多维表格开通了高级权限,导致调用身份权限不足。你需给予调用身份数据表的 **可管理** 权限或多维表格的 **可管理** 等权限,再重新调用。具体步骤如下所示:
- 对用户授予可管理权限,你可在 **多维表格高级权限设置** 中添加用户,为用户开通足够权限。具体可参考飞书帮助中心文档[使用多维表格高级权限](https://www.feishu.cn/hc/zh-CN/articles/588604550568-%E4%BD%BF%E7%94%A8%E5%A4%9A%E7%BB%B4%E8%A1%A8%E6%A0%BC%E9%AB%98%E7%BA%A7%E6%9D%83%E9%99%90)。
- 对应用授予可管理权限,你需通过多维表格页面右上方 **「...」** -> **「...更多」** ->**「添加文档应用」** 入口为应用添加可管理权限。
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/22c027f63c540592d3ca8f41d48bb107_CSas7OYJBR.png?height=1994&lazyload=true&maxWidth=550&width=3278)
![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/9f3353931fafeea16a39f0eb887db175_0tjzC9P3zU.png?height=728&lazyload=true&maxWidth=550&width=890)
**注意**
在 **添加文档应用** 前,你需确保目标应用至少开通了一个多维表格的 [API 权限](https://open.feishu.cn/document/ukTMukTMukTM/uYTM5UjL2ETO14iNxkTN/scope-list)。否则你将无法在文档应用窗口搜索到目标应用。
- 你也可以在 **多维表格高级权限设置** 中添加用户或一个包含应用的群组, 给予这个群自定义的读写等权限。
## 5. 调用查询记录接口,复选框返回数据为空,如何解决?
在多维表格中,如果字段为空值,则查询记录接口不返回数据。相应地,如果复选框字段为空值(即用户没有选中和取消选中过该复选框),则查询记录接口也不返回数据。在此场景下,由于空值效果与复选框为 `false` 效果相同,开发者需自行兼容该空值场景。
## 6. 如何筛选自定义编号类型的自动编号字段?
要筛选含有固定字符的自动编号字段,需将自定义的固定字符去除,再筛选,否则将返回空数据。如下图,自定义的固定字符为 2024在调用查询记录接口时需确保仅 value 的值为自增部分数字,不包含自定义的 2024。
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/a8fc72c1c50b1621a18886aba56c0008_PMPNNaXEXe.png?height=488&lazyload=true&maxWidth=350&width=495)
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/0dd311da6db2fa91ad4e3ab2425ad3d7_myNxGtTNGr.png?height=428&lazyload=true&maxWidth=650&width=1594)
## 7. 调用查询记录接口,如何筛选人员字段?
对于人员字段,你需在 value 中传入人员的用户 ID。用户 ID 的类型与查询记录接口中查询参数 `user_id_type` 指定的类型一致,默认为 Open ID 类型。以下为筛选人员 ID 为 `ou_00d9ea2d7bcd6b6aa7d71dd88deabcef` 和 `ou_5fdfc3d312b24d28224769baf52abcef` 的请求示例:
```json
{
"view_id": "vewfrk8iX4",
"field_names": [
"创建人"
],
"filter": {
"conjunction": "and",
"conditions": [
{
"field_name": "创建人",
"operator": "contains",
"value": [
"ou_00d9ea2d7bcd6b6aa7d71dd88deabcef",
"ou_5fdfc3d312b24d28224769baf52abcef"
]
}
]
}
}
```
## 8. 查询记录接口是否支持查询特定行,如数据表第 10 行~20 行的数据?
1. 在多维表格中新增一个自动编号字段,编号类型选择自增数字。
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/036152cbc21520eb106eae1e3329bdec_haAdeKitl7.png?height=561&lazyload=true&maxWidth=350&width=518)
2. 筛选该自动编号。例如要查询第 10~20 行数据,则筛选小于 21、大于 9 的编号,然后调用[查询记录](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-record/search)接口,请求体如下所示:
```json
{
"view_id": "vewfrk8iX4",
"field_names": [],
"filter": {
"conjunction": "and",
"conditions": [
{
"field_name": "编号",
"operator": "isGreater",
"value": [
"9"
]
},
{
"field_name": "编号",
"operator": "isLess",
"value": [
"21"
]
}
]
}
}
```
你也可以调用[批量获取记录](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-record/batch_get)接口,使用记录的 Record ID 来查询,获取多条记录的数据。
## 9. 如何获取多维表格指定数据表的总记录数(或总行数)?
你可以调用[查询记录](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-record/search)接口,在请求体中将 `conditions` 字段设为空或不设置,以下为请求体示例:
```json
{
"view_id": "vewfrk8iX4", // 请替换为实际的 view_id
"filter": {
"conjunction": "and",
"conditions": []
}
}
```
若请求成功,响应体中将返回 `total` 字段,即为记录总数。