first commit
This commit is contained in:
194
docs/多维表格常见问题.md
Normal file
194
docs/多维表格常见问题.md
Normal file
@ -0,0 +1,194 @@
|
||||
# 多维表格常见问题
|
||||
|
||||
## 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)。
|
||||
|
||||
- 对应用授予可管理权限,你需通过多维表格页面右上方 **「...」** -> **「...更多」** ->**「添加文档应用」** 入口为应用添加可管理权限。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
**注意**:
|
||||
在 **添加文档应用** 前,你需确保目标应用至少开通了一个多维表格的 [API 权限](https://open.feishu.cn/document/ukTMukTMukTM/uYTM5UjL2ETO14iNxkTN/scope-list)。否则你将无法在文档应用窗口搜索到目标应用。
|
||||
|
||||
- 你也可以在 **多维表格高级权限设置** 中添加用户或一个包含应用的群组, 给予这个群自定义的读写等权限。
|
||||
|
||||
## 5. 调用查询记录接口,复选框返回数据为空,如何解决?
|
||||
|
||||
在多维表格中,如果字段为空值,则查询记录接口不返回数据。相应地,如果复选框字段为空值(即用户没有选中和取消选中过该复选框),则查询记录接口也不返回数据。在此场景下,由于空值效果与复选框为 `false` 效果相同,开发者需自行兼容该空值场景。
|
||||
## 6. 如何筛选自定义编号类型的自动编号字段?
|
||||
|
||||
要筛选含有固定字符的自动编号字段,需将自定义的固定字符去除,再筛选,否则将返回空数据。如下图,自定义的固定字符为 2024,在调用查询记录接口时,需确保仅 value 的值为自增部分数字,不包含自定义的 2024。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## 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. 在多维表格中新增一个自动编号字段,编号类型选择自增数字。
|
||||
|
||||

|
||||
|
||||
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` 字段,即为记录总数。
|
||||
Reference in New Issue
Block a user