python如何发送企业微信群消息

一、创建机器人,并获取webhook

1.1 进入企业微信中,添加群机器人,添加完成后可以获取到一个webhook的地址

1.2 群机器人企业微信接口的调用可以参考这个文件

https://developer.work.weixin.qq.com/document/path/99110#如何使用群机器人

二、python请求接口发送消息

我尝试了两种类型的消息发送,都可以成功,代码如下

第一种:markdown类型消息

2.1 封装一下企业微信调用webhook接口

python 复制代码
# webhook是创建机器人时获取的链接
webhook = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx"
def request_send_qiye_weixin_message(data_content, headers=None):
    """
    请求发送企业微信消息接口
    """
    if headers is None:
        headers = {"Content-Type": "application/json"}
    ret = requests.post(url=webhook, json=data_content, headers=headers)
    return ret.text

2.2 发送markdown类型的消息

python 复制代码
# markdown类型,需要传的参数
data = {'msgtype': 'markdown', 'markdown': {
    'content': 
        '测试机器人发送消息\n>'
        '执行结果:<font color="#FF0000"> FAIL</font>\n'
        '用例总数:<font color="comment"> 313</font>\n'
        '通过数量:<font color="comment"> 312</font>\n'
        '失败数量:<font color="comment"> 1</font>\n'
        '错误数量:<font color="comment"> 0</font>\n'
        '跳过数量:<font color="comment"> 0</font>\n'
        '用例成功率:<font color="comment"> 99.68%</font>\n'
        '执行时间:<font color="comment"> 3时13分33秒</font>\n'
        }
    }
# 调用第一步封装的request_send_qiye_weixin_message函数
send_result = request_send_qiye_weixin_message(data)

执行的结果如下:

第二种:发送文件消息

需要先上传文件获取到文件的media_id,后再请求发送消息的接口

python 复制代码
def send_file_message(file_path):
    """
    发送文件类型的消息
    """
    # 上传文件, key为第一大步获取的webhook中的key,type固定传file
    upload_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx&type=file"
    # 请求数据,是rb读取文件流,获取到media_id
    data = {"file": open(file_path, "rb")}
    res = requests.post(upload_url, files=data).json()
    media_id = res.get('media_id')

    # 发送文件类型报告消息
    send_file_message_data = {
        "msgtype": "file",
        "file": {
            "media_id": media_id
        }
    }
    # 请求第1步中封装的request_send_qiye_weixin_message文件
    send_result = request_send_qiye_weixin_message(send_file_message_data)
    return send_result

if __name__ == '__main__':
    # 调用发送文件函数
    send_file_message("test.html")

执行结果如下图:

相关推荐
CHANG_THE_WORLD1 小时前
python 批量终止进程exe
开发语言·python
liann1191 小时前
3.2_红队攻击框架--MITRE ATT&CK‌
python·网络协议·安全·网络安全·系统安全·信息与通信
云天AI实战派1 小时前
AI 智能体问题排查指南:ChatGPT、API 调用到 Agent 上线失灵的全流程修复手册
大数据·人工智能·python·chatgpt·aigc
我的xiaodoujiao2 小时前
API 接口自动化测试详细图文教程学习系列15--项目实战演练2
python·学习·测试工具·pytest
天空属于哈夫克32 小时前
企业微信API常见的错误和解决方案
java·数据库·企业微信
多思考少编码3 小时前
PAT甲级真题1001 - 1005题详细题解(C++)(个人题解)
c++·python·最短路·pat·算法竞赛
ZhengEnCi3 小时前
M5-markconv自定义CSS样式指南 📝
前端·css·python
ZhengEnCi3 小时前
M4-更新日志v0.1.3-Mermaid图表支持 📝
python
hsjcjh4 小时前
多模态长文本协同:用Gemini 3.1 Pro镜像官网破解复杂办公场景的效率困局(国内实测方案)
python
凯瑟琳.奥古斯特4 小时前
SQLAlchemy核心功能解析
开发语言·python·flask