核心功能:群机器人 Webhook 开发(Python 版)
能力介绍
群机器人 Webhook是企业微信为外部群提供的一种简单、高效的数据推送信道。Python 开发者只需利用基础的 HTTP 请求库,即可实现从本地或服务器向企微群实时发送通知。其核心价值在于极简集成:无需处理复杂的 OAuth2.0 认证,非常适合脚本告警、自动化报表推送等“单向通知”场景。
10 分钟接入 Demo
获取 Webhook:在企业微信群设置中,依次点击“群机器人” -> “添加机器人”,保存生成的
Webhook URL。安装依赖:确保环境已安装
requests库(pip install requests)。封装数据:按照官方 JSON 格式构造 Python 字典,包含
msgtype(文本、Markdown、图片等)。执行推送:使用
requests.post()将数据发送至 Webhook 地址。处理响应:解析返回的 JSON,确认
errcode是否为 0。
API 示例代码
以下是使用 Python 发送Markdown和@特定成员的标准代码片段:
import requests import json def send_qiwe_robot_msg(webhook_url, content, mentioned_list=None): """ 通过 Webhook 发送机器人消息 """ headers = {"Content-Type": "application/json"} # 构造 Markdown 消息体 payload = { "msgtype": "markdown", "markdown": { "content": content } } # 如果需要 @ 成员(注意:Markdown 模式下需在 content 中拼入 <@userid>) if mentioned_list: mention_str = "".join([f"<@={uid}>" for uid in mentioned_list]) payload["markdown"]["content"] += f"\n\n提醒:{mention_str}" response = requests.post(webhook_url, data=json.dumps(payload), headers=headers) return response.json() # 使用示例 WEBHOOK = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY" MSG = """# 自动化任务监控报告 > **任务名称**:数据备份 > **状态**:<font color="info">执行成功</font> > **耗时**:45s """ # res = send_qiwe_robot_msg(WEBHOOK, MSG, mentioned_list=["ZhongGong"]) # print(res)使用场景说明
运维监控告警:当 Python 监控脚本发现服务器磁盘空间不足或接口超时,第一时间触发群通知。
数据分析日报:利用
pandas处理完业务数据后,将核心指标格式化为 Markdown 表格推送到管理群。开发流自动化:在 CI/CD 流程中,当脚本部署完成或测试失败时,自动在开发群同步结果。
FAQ
Q:为什么发送的消息中 @ 成员没有变色提醒?
A:在 Markdown 消息中,必须使用
<@userid>格式(如果需要 @ 所有人,则使用<@all>)。
Q:机器人可以发送本地文件吗?
A:可以。但需要先调用“上传临时素材”接口获取
media_id,再通过机器人发送file类型消息。
Q:接口调用报错 40037 (invalid key)?
A:请检查 Webhook URL 后的
key参数是否完整,或者该机器人是否已被管理员移除。
引导入口
查看完整文档:QiWe API 文档
企微官网:QiWe 官网