影刀RPA实操指南_飞书文档自动生成每日周报月报自动写入多维表格与云文档
2026/6/13 20:32:58 网站建设 项目流程

影刀RPA实操指南:飞书文档自动生成每日周报月报自动写入多维表格与云文档

你的团队用飞书协作,每天要往文档里贴数据。

打开飞书文档,找到对应的位置,把昨天的数据复制粘贴进去,调下格式,@几个人。

每天十分钟,一个月三小时——全花在了"粘贴"上。

有没有想过:影刀能不能直接操作飞书文档?

能。而且有官方API支持,比模拟网页操作稳定得多。


方案选型:API还是网页模拟

方案稳定性开发难度适用场景
飞书开放API⭐⭐⭐⭐⭐⭐⭐⭐长期运行的自动化
网页模拟操作⭐⭐临时或一次性任务
飞书多维表格API⭐⭐⭐⭐⭐⭐结构化数据写入

强烈推荐API方案。飞书的开放API非常完善,文档生成、多维表格操作、消息发送都有对应接口。


前置准备:获取飞书API凭证

第一步:创建飞书应用

  1. 打开 飞书开放平台
  2. 创建企业自建应用
  3. 给应用起个名字,比如"数据报告机器人"
  4. 获取App IDApp Secret

第二步:配置权限

给应用添加以下权限:

  • docx:document:write— 编辑云文档
  • docx:document:read— 读取云文档
  • drive:drive— 访问云空间

拼多多店群自动化上架方案

  • bitable:app— 操作多维表格

这些权限需要管理员审批。

第三步:获取tenant_access_token

飞书API几乎所有接口都需要先获取token:

importrequestsdefget_tenant_token(app_id,app_secret):url="https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal"resp=requests.post(url,json={"app_id":app_id,"app_secret":app_secret})returnresp.json()['tenant_access_token']token=get_tenant_token('your_app_id','your_app_secret')

token有效期2小时,生产环境建议缓存到过期前5分钟再刷新。


实战一:写入飞书多维表格

多维表格是最适合存自动化数据的地方。

获取多维表格的table_id

多维表格URL格式:https://xxx.feishu.cn/base/BASE_ID?table=TABLE_ID

从URL中提取BASE_IDTABLE_ID

批量写入数据

importrequestsdefadd_records(app_token,table_id,records):"""批量写入多维表格"""url=f"https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records/batch_create"headers={"Authorization":f"Bearer{token}","Content-Type":"application/json"}# 构建记录列表record_list=[]forrinrecords:fields={}forkey,valueinr.items():fields[key]=value record_list.append({"fields":fields})body={"records":record_list}resp=requests.post(url,headers=headers,json=body)returnresp.json()# 使用add_records(app_token='Bascbxxxxx',table_id='tblxxxxx',records=[{"日期":"2024-01-15","销售额":25800,"订单数":156},{"日期":"2024-01-16","销售额":31200,"订单数":189}])

注意事项

  • 单次最多写入500条
  • 字段名必须和表格中的字段名完全一致
  • 时间字段建议用字符串格式"2024-01-15"以免时区问题

先清空再写入(日报场景)

日报通常是"覆盖式"更新:

defrefresh_daily_records(app_token,table_id,records):"""先删旧数据,再写新数据"""# 1. 获取所有现有记录existing=get_all_records(app_token,table_id)# 2. 批量删除ifexisting:delete_url=f"https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records/batch_delete"record_ids=[r['record_id']forrinexisting]requests.delete(delete_url,headers=headers,json={"records":record_ids})# 3. 写入新数据add_records(app_token,table_id,records)

实战二:向飞书云文档追加内容

飞书文档API(Docx)支持向已有文档追加段落。

获取文档ID

文档URL格式:https://xxx.feishu.cn/docx/DOC_ID

追加文本段落

defappend_to_docx(doc_id,content_blocks):"""向文档末尾追加内容块"""# 1. 获取文档结构url=f"https://open.feishu.cn/open-apis/docx/v1/documents/{doc_id}/blocks"headers={"Authorization":f"Bearer{token}"}resp=requests.get(url,headers=headers)document_id=resp.json()['data']['document']['document_id']page_id=resp.json()['data']['document']['blocks'][0]['block_id']# 2. 构建要追加的blockblocks=[]fori,contentinenumerate(content_blocks):block={"block_type":2,# 2=文本段落"text":{"elements":[{"text_run":{"content":content}}]}}blocks.append(block)# 3. 批量创建blockcreate_url=f"https://open.feishu.cn/open-apis/docx/v1/documents/{document_id}/blocks/{page_id}/children"body={"children":blocks,"index":-1# -1表示追加到末尾}resp=requests.post(create_url,headers=headers,json=body)returnresp.json()

飞书文档API的门槛:比多维表格API复杂不少,有block_type、block_id、parent_id等概念。初次使用建议先在开放平台的API调试器里试一下。


实战三:根据模板生成飞书文档

很多场景是"固定模板+动态数据":

defgenerate_report_from_template(template_doc_id,data):"""复制模板并填充数据"""# 1. 复制模板文档copy_url=f"https://open.feishu.cn/open-apis/drive/v1/files/{template_doc_id}/copy"headers={"Authorization":f"Bearer{token}"}body={"name":f"销售日报-{data['date']}","type":"docx"}resp=requests.post(copy_url,headers=headers,json=body)new_doc_id=resp.json()['data']['document']['document_id']# 2. 在文档中查找并替换占位符![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bc07fb3bca5f492097847fff213288af.png#pic_center)# 注意:飞书API没有原生"查找替换",需要通过block操作实现# 简化版:在末尾追加数据部分append_to_docx(new_doc_id,[f"## 今日数据 ({data['date']})",f"- 销售额:¥{data['sales']:,}",f"- 订单数:{data['orders']}",f"- 客单价:¥{data['avg_price']:.2f}"])returnnew_doc_id

实战四:完整自动化链路

TEMU店群如何管理运营?

把数据采集、处理、写入飞书串联起来:

影刀主流程: ├─ 1. 电商平台数据采集(影刀网页操作) ├─ 2. 数据清洗与汇总(Python pandas) ├─ 3. 写入飞书多维表格(Python调用API) │ - 每日销售明细 → 多维表格"销售日报" ├─ 4. 生成飞书云文档报告(Python调用API) │ - 复制模板 → 填充数据 → 获取文档链接 ├─ 5. 发送飞书消息通知(影刀或API) │ - @相关人:今日报告已生成 [文档链接] └─ 6. 日志记录

避坑指南

坑1:token过期

API返回99991663tenant_access_token invalid

# 封装自动刷新importtimeclassFeishuClient:def__init__(self,app_id,app_secret):self.app_id=app_id self.app_secret=app_secret self.token=Noneself.token_expire=0defget_token(self):iftime.time()>self.token_expire-300:# 提前5分钟刷新self._refresh_token()returnself.tokendef_refresh_token(self):resp=requests.post(...)self.token=resp.json()['tenant_access_token']self.token_expire=time.time()+7100# 2小时-100秒缓冲

坑2:多维表格字段名不匹配

多维表格的字段名区分大小写,“销售额"和"销售 额”(有个空格)是不一样的。

建议:先在API调试器里GET一次表格结构,确认字段名。

坑3:写入频率限制

飞书API有频率限制,多维表格写入是每秒10次

大量数据写入时加延时:

importtimefori,batchinenumerate(batches):add_records(batch)ifi>0andi%10==0:time.sleep(1)# 每10批休息1秒

总结

飞书开放的API让影刀的自动化链路可以延伸到飞书生态:

  • 多维表格API → 结构化数据存储和展示
  • 云文档API → 自动生成报告文档
  • 消息API → 通知相关人员

三件套配合影刀的网页采集能力,流程从"数据采集 → 处理 → 呈现 → 通知"全链路无人值守。

API方案比网页模拟稳定10倍,值得花时间配置。


内容标签:#影刀RPA #飞书 #多维表格 #API #自动化报告
作者:林焱
系列:影刀RPA实操指南系列——打通自动化链路的最后一环

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询