Skip to content

多维表格常见问题

1. 如何在多维表格中上传附件?

第 1 步:调用上传素材分片上传素材接口将附件上传至多维表格,获取文件的 file_token。

第 2 步:调用新增记录更新记录接口,将 file_token 的值传入多维表格中。请求示例如下所示:

Note file_token 仅支持在当前多维表格中使用,要上传附件至其他多维表格,你仍需要重新上传素材获取新的 file_token。

json
{
    "records": [
        {
            "fields": {
                "附件": [
                    {
                        "file_token": "boxbcCFb2dBwMK9S8kDILk1tayh"
                    },
                    {
                        "file_token": "boxbcCFb2dBwMK9S8kDILk1tayh"
                    }
                ]
            }
        },
        {
            "fields": {
                "附件": [
                    {
                        "file_token": "boxbcCFb2dBwMK9S8kDILk1tayh"
                    },
                    {
                        "file_token": "boxbcCFb2dBwMK9S8kDILk1tayh"
                    }
                ]
            }
        }
    ]
}

2. 如何下载多维表格中的附件?

第 1 步:调用查询记录获取多维表格中附件的 file_token。

第 2 步:调用下载素材或者获取素材临时下载链接接口下载附件。

若多维表格开启了高级权限,你需要添加 extra 参数作为 URL 查询参数鉴权。你可通过以下方式获取 extra 参数:

  1. 调用查询记录接口,响应示例中会返回附件的下载链接,如下所示:

    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 是否正确。你可参考多维表格概述标获取各类资源的 ID
  2. 如果 ID 对应的资源刚创建完成后出现此类报错,可能是遇到了服务器的主从延迟问题。你可尝试等待几秒之后重试。

4. 调用查询记录接口成功,数据返回为空,但实际多维表格存在数据,该如何解决?

这一般是由于多维表格开通了高级权限,导致调用身份权限不足。你需给予调用身份数据表的 可管理 权限或多维表格的 可管理 等权限,再重新调用。具体步骤如下所示:

  • 对用户授予可管理权限,你可在 多维表格高级权限设置 中添加用户,为用户开通足够权限。具体可参考飞书帮助中心文档使用多维表格高级权限

  • 对应用授予可管理权限,你需通过多维表格页面右上方 「...」 -> 「...更多」 ->「添加文档应用」 入口为应用添加可管理权限。

    image.png

    注意: 在 添加文档应用 前,你需确保目标应用至少开通了一个多维表格的 API 权限。否则你将无法在文档应用窗口搜索到目标应用。

  • 你也可以在 多维表格高级权限设置 中添加用户或一个包含应用的群组, 给予这个群自定义的读写等权限。

5. 调用查询记录接口,复选框返回数据为空,如何解决?

在多维表格中,如果字段为空值,则查询记录接口不返回数据。相应地,如果复选框字段为空值(即用户没有选中和取消选中过该复选框),则查询记录接口也不返回数据。在此场景下,由于空值效果与复选框为 false 效果相同,开发者需自行兼容该空值场景。

6. 如何筛选自定义编号类型的自动编号字段?

要筛选含有固定字符的自动编号字段,需将自定义的固定字符去除,再筛选,否则将返回空数据。如下图,自定义的固定字符为 2024,在调用查询记录接口时,需确保仅 value 的值为自增部分数字,不包含自定义的 2024。

7. 调用查询记录接口,如何筛选人员字段?

对于人员字段,你需在 value 中传入人员的用户 ID。用户 ID 的类型与查询记录接口中查询参数 user_id_type 指定的类型一致,默认为 Open ID 类型。以下为筛选人员 ID 为 ou_00d9ea2d7bcd6b6aa7d71dd88deabcefou_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 的编号,然后调用查询记录接口,请求体如下所示:

    json
    {
      "view_id": "vewfrk8iX4",
      "field_names": [],
      "filter": {
        "conjunction": "and",
        "conditions": [
          {
            "field_name": "编号",
            "operator": "isGreater",
            "value": [
              "9"
            ]
          },
          {
            "field_name": "编号",
            "operator": "isLess",
            "value": [
              "21"
            ]
          }
        ]
      }
    }

你也可以调用批量获取记录接口,使用记录的 Record ID 来查询,获取多条记录的数据。

9. 如何获取多维表格指定数据表的总记录数(或总行数)?

你可以调用查询记录接口,在请求体中将 conditions 字段设为空或不设置,以下为请求体示例:

json
{
  "view_id": "vewfrk8iX4",  // 请替换为实际的 view_id
  "filter": {
    "conjunction": "and",
    "conditions": []
  }
}

若请求成功,响应体中将返回 total 字段,即为记录总数。

内容来源:飞书开放平台 · 自动爬取整理