Python调用企微机器人: 发送常用格式汇总

企微接口文档

发送应用消息 - 接口文档 - 企业微信开发者中心

发送格式

应用支持推送文本、图片、视频、文件、图文等类型。

~~~以下列举常用格式 示例~~~

1.发送文本

代码如下:

复制代码
def sendtxt_robotmsg(self):
     # 正式key
     wx_key = "xx"
     wx_webhookurl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={}'.format(wx_key)
     headers = {'Content-Type': 'application/json'}
     //发送消息时在企微自动@的人:xx值必须为同事注册企微的手机号或姓名
	 hbpeople = ["xx"]
     msg = '请关注'
     testdata = json.dumps({"msgtype": "text", "text": {"content": msg, "mentioned_list": hbpeople}})
     r = requests.post(wx_webhookurl, data=testdata, headers=headers, verify=False)
     print(r.text)
     return r

发送结果:

2.发送图片

代码如下:

图片存放在这里:

复制代码
#图片所在文件夹路径
SCRIPTS_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
GENERATECASE_DIR = os.path.join(SCRIPTS_DIR, "xx")
DATAS_DIR = os.path.join(GENERATECASE_DIR, "xx")

def sendimage_robotmsg():
    # 调试key
    wx_key = "xx"
    wx_webhookurl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={}'.format(wx_key)
    headers = {'Content-Type': 'application/json'}
    #图片(base64编码前)最大不能超过2M,支持JPG,PNG格式
    imgPath = os.path.join(DATAS_DIR, "有福气.png")
    with open(imgPath,"rb") as f:
        fd=f.read()
        base64Content=str(base64.b64encode(fd),"utf-8")
    with open(imgPath,"rb") as f:
        fd=f.read()
        md = hashlib.md5()
        md.update(fd)
        md5Content = md.hexdigest()
    testdata = {"msgtype": "image","image": {"base64": base64Content,"md5": md5Content}}
    r = requests.post(wx_webhookurl, headers=headers, json=testdata)
    print(r.text)
    return r

发送结果:

3.发送文件

文件路径:

代码如下:

复制代码
SCRIPTS_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
GENERATECASE_DIR = os.path.join(SCRIPTS_DIR, "xx")
DATAS_DIR = os.path.join(GENERATECASE_DIR, "xx")


def upload_weixin(key=None, filename=None):
    """
    上传附件到企业微信,获得media_id.然后发送消息通知,可查看文件
    """
    if not key:
        print("key不能为空")
        raise
    # 请求地址
    url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key={}&type=file".format(key)
    # 请求头
    headers = {"Content-Type": "multipart/form-data"}
    # 请求数据,是rb读取文件流
    data = {"file": open(filename, "rb")}
    # 发送请求
    res = requests.post(url, files=data, headers=headers).json()
    return res.get("media_id")

def sendfile_robotmsg():
    #key
    wx_key = "xx"
    wx_webhookurl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={}'.format(wx_key)
    headers = {'Content-Type': 'application/json'}
    filename = os.path.join(DATAS_DIR, "xx.html")
    print(filename)
    medid= upload_weixin(wx_key,filename)
    data = {
        "msgtype": "file",
        "file": {
            "media_id": medid
        }
    }
    print(medid)
    r = requests.post(url=wx_webhookurl,headers=headers, json=data)

    print(r.text)
    return r

发送结果:

4.发送图文

文件路径:

代码如下:

复制代码
SCRIPTS_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
GENERATECASE_DIR = os.path.join(SCRIPTS_DIR, "xx")
DATAS_DIR = os.path.join(GENERATECASE_DIR, "xx")


def sendimagetext_robotmsg():
    # 正式key
    wx_key = "xx"
    wx_webhookurl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={}'.format(wx_key)
    headers = {'Content-Type': 'application/json'}
    imgPath = os.path.join(DATAS_DIR, "有福气.png")

    testdata = {
   "msgtype" : "news",
   "agentid" : 1,
   "news" : {
       "articles" : [
           {
               "title" : "测试一下",
               "description" : "测试",
               "url" : "URL",
               "picurl":"",
        	   "pagepath": imgPath
           }
        ]
   },
   "enable_id_trans": 0,
   "enable_duplicate_check": 0,
   "duplicate_check_interval": 1800
}
    r = requests.post(wx_webhookurl, headers=headers, json=testdata)
    print(r.text)
    return r

发送结果:

相关推荐
人工智能训练16 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
yaoming16816 小时前
python性能优化方案研究
python·性能优化
兩尛17 小时前
c++知识点2
开发语言·c++
fengfuyao98517 小时前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
xiaoye-duck17 小时前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
码云数智-大飞17 小时前
使用 Python 高效提取 PDF 中的表格数据并导出为 TXT 或 Excel
python
Hx_Ma1618 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
biuyyyxxx19 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化
期待のcode19 小时前
原子操作类LongAdder
java·开发语言
极客数模19 小时前
【2026美赛赛题初步翻译F题】2026_ICM_Problem_F
大数据·c语言·python·数学建模·matlab