目录地址
https://blog.csdn.net/weixin_44511366/article/details/127588046
文档关键字
Python调用飞书API、获取飞书群消息、生成飞书电子文档、发送消息到飞书群聊
飞书API接口文档地址
脚本生成文档展示
背景
项目上线了“接口性能监控功能”,结合上以前开发的飞书报警功能,当用户使用项目功能,发起接口请求,如果项目耗时超过了预设的阈值,将会发送报警消息到对应的群聊中,目的是统计、监控性能不达标的接口,方便后面排期优化。
但是由于这个功能已经上线了一段时间,而优化的排期工作还没有安排,导致报警群已经堆积了大量的消息,想要人工整理报警信息已经是不现实的事情,所以开发了Python脚本,可以一键获取全量的历史消息,且部署到服务器的定时任务中,每天定时增量拉取报警信息,并生成飞书云文档(电子文档)到指定云文档目录下,方便部门成员预览。
待解决问题
- 获取指定飞书群消息
- 生成飞书云文档到指定云文档地址
- 将云文档地址发送到指定群聊
问题解决思路
以上问题在阅览飞书API文档后发现都可以实现,那么问题其实变得非常简单,只需要发送HTTP请求,整理数据格式就可以了。
1、读取飞书群消息
https://open.feishu.cn/document/ukTMukTMukTM/uIjMzUjLyIzM14iMyMTNhttps://open.feishu.cn/document/ukTMukTMukTM/uIjMzUjLyIzM14iMyMTN4、将生成的文档地址发送到指定群
预计节省工时
如果通过手工整理全量报警消息,我们四个环境“dev、test、uat、prd”四个报警群,假设每个报警群1000条数据来算,一个人需要至少2小时才能整理好报警信息,即节省至少2小时/人的工时。再加上每天看到一条报警信息就要誊到文档中一条信息,这个工时、精力简直不可估量。
脚本运行思路
- 根据传入参数,判断拉取群消息的时间范围;第一次拉取全量数据,后面部署到定时任务,每天晚上拉取当天的数据。
- 获取部署了“飞书应用”的群聊
- 循环获取历史群消息
- 按照指定格式整理Excel行数据对象
- 云文档中指定文件夹位置创建Excel文档
- 发送文档地址到指定群聊(部门群)
- 向文档中循环写入数据
飞书API使用注意事项
1、想要使用飞书API,需要基于飞书应用之上,所以要先创建飞书应用
2、脚本使用到的接口,都需要申请对应的权限
3、一些接口要开通机器人功能,例如获取消息功能,只需要将机器人开关打开即可
4、飞书API接口每次调用都需要生成应用token,应用token则是根据应用的ID、密钥调用接口实现,ID、密钥可以从“凭证与基础信息中获取”
5、获取群消息接口想要调用成功,需要将应用添加到对应的群聊中
6、想要在指定目录下创建文档,需要将“添加了应用的群聊”添加到文件夹的协作者中
7、飞书API的每个接口,可以看作是 我们正常手动操作的对应步骤,这么说有点抽象,意思是,想要调用接口C,必须先要按顺序执行接口A、接口B;例如,我想要向文档中写入数据,那么①先要创建文档、②创建SHEET页、③添加空白行、④才是向空白行中写入数据
脚本地址
https://github.com/MaverickGao/python_utils/blob/feature_20221029/utils/feishu_pormance_alarm.py