企业微信 - 智能表格 API 开发指南,为智能体搭桥

ERP、Mes等系统,或使用智能体、Coze、dify.ai等,都需要进行存储和分析数据。企业微信的智能表格足够的好用,已经成为不少老板们的数字化管理利器,飞哥就是用来当数据报表 BI 使用。 本文飞哥将以主要围绕智能表格和服务端 API接口为主,从零开始讲解怎么对接开发智能表格 API 开发,特别是开发中碰到的问题,总结最佳实践。

一、准备工作(企业ID、账号ID)
企业微信的智能表格的接口是比较简单的,但相关的准备是不少的,导致很多开发者开始测试的,出现很多问题,建议打开后续页面用管理员来操作。
1.1 智能表格文档
智能表格文档入口:https://developer.work.weixin.qq.com/document/path/97392
1.2 企业ID
企业ID(corpid) 是接口必备的。
直达链接:https://work.weixin.qq.com/wework_admin/frame#/profile/enterprise
或打开企业微信的管理后台,“我的企业” -> “企业信息”,找到企业ID。如图:

1.2 账号ID
账号ID在后续的文档创建需要指定admin_users,要不然创建的文档找不到。
如何获取账号ID,“通讯录”” -> “组织架构” ,找到成员,进行编辑,找到“账号”,如图

二、应用管理(创建应用、企业可信IP、Secret、文档权限)
2.1 创建应用
直达链接:https://work.weixin.qq.com/wework_admin/frame#/apps
或 “应用管理”” -> “应用管理” -> “应用” -> “创建应用“
- 输入“应用名称”
- 可见范围,注意这个很重要,要不然后续无法调用

2.2 配置企业可信IP
刚刚创建的应用,打开应用,在最下面有个“企业可信IP”,切记要配置 IP,要不然是无法使用任何接口。如果有多个 IP,里面就填多个ip,用;分隔

2.3 Secret
在当前的应用获取Secret,Secret将通过“企业微信团队”下发,需要打开企业微信客户端查看,保存好Secret

2.4 文档权限配置“可调用的应用”
“协作” -> “文档” -> “API” -> “可调用接口的应用”,选择刚刚创建的应用,如图

三、接口调试
请确保上面的步骤全部完成,不能漏一项。测试前,建议用apifox 或者 postman 进行测试,测试好再具体开发。接下来飞哥来讲解智能表格接口中几个必备的接口
飞哥用的是 apifox

3.1 获取access_token
请求URL:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpid}&corpsecret={corpsecret}
corpid 和 corpsecret 就是 1.2 的企业ID 和 2.3 Secret
返回结果
{
   "errcode":0,
   "errmsg":"",
   "access_token": "xxx",
   "expires_in": 7200
}
access_token 在后续的接口都用到,有 7200 秒的过期时间,如果过期,这个接口需要再次调用
3.2 新建文档
接口地址:https://developer.work.weixin.qq.com/document/path/97460
参数说明
{
  "spaceid": "SPACEID",
  "fatherid": "FATHERID",
  "doc_type": 10,
  "doc_name": "DOC_NAME",
  "admin_users": ["USERID1", "USERID2", "USERID3"]
}
- spaceid和- fatherid是 2 个不必要的参数,那接口中直接去掉这 2 个参数,而不是将值设置为空
- doc_type为 10 才是智能表格
- doc_name文档名称随便
- admin_users就是 步骤 1.2 账号ID,切记,一定得有账号ID
返回结果
{
  "errcode": 0,
  "errmsg": "ok",
  "url": "URL",
  "docid": "DOCID"
}
docid 就是后续所有文档交互的基础。
常见问题
- 
如果在客户端自己创建的智能文档,是不能获取到 docid?答:不能获取。这也是很多开发者碰到的最常见的问题,只能用过 API 新建文档 获取。
- 
这里有个概念,智能表格和普通文档是不一样的,智能表格相当于 1 个大的文档集合,里面有很多子表(工作表),里面的子表(工作表)是可以在客户端创建并可以获取到。 
如果通过接口创建好智能表格,就代表成功一大半了,后续的接口可以慢慢调试。
3.3 添加子表
添加子表我觉得这个描述不对,而且文档上面没有对子表(工作表)进行说明,飞哥在开发过程中就碰到了找不到接口文档的难堪。
接口地址:https://developer.work.weixin.qq.com/document/path/99896
说明:添加子表等同于“创建工作表”,这个支持通过接口创建,也可以在客户端创建,后续通过接口 - 查询子表 https://developer.work.weixin.qq.com/document/path/99911 获取
请求地址:https://qyapi.weixin.qq.com/cgi-bin/wedoc/smartsheet/add_sheet?access_token=ACCESS_TOKEN
参数说明
{
  "docid": "DOCID",
  "properties": {
    "title": "智能表",
    "index": 3
  }
}
- docid在 3.2 新建文档接口中获得
3.4 添加字段
给工作表添加字段,建议直接在客户端创建,避免去了解这些没必要的字段说明、类型,比较费时间。
并通过接口 - 查询字段 https://developer.work.weixin.qq.com/document/path/99914
3.5 添加记录
给工作表添加记录。接口地址:https://developer.work.weixin.qq.com/document/path/99907
参数说明
{
  "docid": "xxx",
  "sheet_id": "xxx",
  "key_type": "CELL_VALUE_KEY_TYPE_FIELD_TITLE",
  "records": [{
    "values": {
      "字段标题 xxx": [{
        "type": "text",
        "text": "文本内容"
      }]
    }
  }]
}
- docid在 3.2 新建文档接口中获得
- sheet_id3.3 添加子表中获得
回结果
{
    "errcode": 0,
    "errmsg": "ok",
    "records": [
        {
            "record_id": "7TDweV",
            "values": {
                "文本 A": [
                    {
                        "text": "文本内容1111111",
                        "type": "text"
                    }
                ]
            }
        }
    ]
}
3.6 查询记录
查询智能表格的工作表的记录
接口地址:https://developer.work.weixin.qq.com/document/path/99915
请求地址:https://qyapi.weixin.qq.com/cgi-bin/wedoc/smartsheet/get_records?access_token=ACCESS_TOKEN
{
  "docid": "xxx",
  "sheet_id": "xxx"
}
- docid在 3.2 新建文档接口中获得
- sheet_id3.3 添加子表中获得
四、最佳实践
- 创建子表(工作表)、视图、字段可通过客户端创建,创建好后,通过查询接口功能,再映射到开发环境的字段。
- 用智能表格做存储用,原始数据的操作还是在自有系统进行,这样可以保持数据流转向的一致性。或者统一从智能表格流向到自有系统,避免数据的交叉更新。
- 智能表格还有很多自动化的功能,比如,定时提醒,自动化流程等,也可以当做业务系统来使用
- 智能表格中的人员字段可以映射到微信用户,这个很强大,后续飞哥会专门出一期怎么使用智能表格的文章
五、总结
Coze深度绑定了飞书的多维表格,可以很好的进行交互集成了。在这方面,腾讯的智能表格和各智能体搭建还缺不少,需要用 API 来完成这些工作。
腾讯智能表格的出现,满足了大部分中小型企业的数据存储和分析功能,导致市面上很多数字化方案出现了很多变化,悄无声息的把很多做数据服务、数据 BI、系统服务商给消灭了,所以说,干掉你的一定不是同行。
本文飞哥通过讲解智能表格的 API 的搭建,可以为你的系统方案增加 1 个解决方案给客户,面向未来,面向 AI,这些接口应该是标配功能。

 飞哥专栏
飞哥专栏