行业知识
python+flask监控钉钉通讯录变更+webhook告警
2026-11-13 20:34:34
来源:互联网转载
Python工具开源专栏
Py0005 python+flask监控钉钉通讯录变更+webhook告警
- Python工具开源专栏
- 前言
- 目录结构
- 配置钉钉后台微应用的事件订阅
- 配置钉钉群聊机器人的Webhook
- 部分演示
- 完整代码已在GitHub上开源
前言
python+flask监听钉钉通讯录的变更,通过Webhook发送给钉钉群聊告警,以前端网站展示变更的详细数据。功能大致如下几点。(文末有github链接)
- 钉钉开放后台微应用配置事件订阅,通过公网调用本地网站的api。
- 通讯录的变更数据支持导出到Excel文档。
- 监听钉钉的通讯录事件,将事件内容写入MySQL,使用webhook发送告警到钉钉群聊。
版本迭代至V1.0
网站技术要点:面向对象、网络请求、轻量级Web应用框架flask、RESTful API、Webhook,使用了py库requests、DingtalkChatbot、Flask、PyMySQL
目录结构
源代码目录结构:
Dingtalk-MonitorBook |——— assets# 存放资源文件 |——— logs# 存放日志文件 |——— public# 存放前端站点的资源文件 |——— components# php组件包 |——— css# css资源文件 |——— js# js资源文件 |——— layui# layui js框架资源文件 |——— template# php模板文件 |——— 404.html |——— 500.html |——— index.php# php站点访问入口 |——— src# 存放后端站点的资源文件 |——— api |——— callback_0001.py |——— getData.py |——— components |——— __init__.py# 初始化模块包文件 |——— DingCallbackCrypto3.py# 处理钉钉回调数据的加解密 |——— DingtalkOpenAPI.py# 调用钉钉通讯录的网络请求工具类 |——— LocalOpenAPI.py# 调用本地存储钉钉通讯录数据的工具类 |——— MySQLHandle.py# 处理MySQL数据库的工具类 |——— cron |——— cron_action_webhook.py# 定时执行数据库记录和钉钉群聊通讯录变更告警推送 |——— cron_clear_tempfile.py# 定时清除早于当前时间的temp缓存文件 |——— utils |——— __init__.py# 初始化模块包文件 |——— utils_config.py# 参数配置表 |——— utils_const.py# 常量表 |——— utils_func.py# 常用函数工具类 |——— utils_logging.py# log日志工具类 |——— utils_mysqli.py# 操作mysql的函数工具类 |——— dingtalk_monitorbook_service.py# py主程序源文件,启动flask Web框架 |——— getCallBack.py# 处理钉钉事件订阅的回调数据 |——— readme.md |——— LICENSE |——— requirements.txt# py项目的依赖项
执行文件的目录结构:
|——— dingtalk_monitorbook_service.py# py主程序源文件,启动flask Web框架
配置钉钉后台微应用的事件订阅
配置钉钉群聊机器人的Webhook
部分演示
前端的页面展示
webhook推送告警到钉钉群聊
完整代码已在GitHub上开源
源码已在GitHub上开源:Dingtalk-MonitorBook
参考来源:钉钉文档-事件订阅总览