当前位置: 首页 > news >正文

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

企微接口文档

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

发送格式

应用支持推送文本、图片、视频、文件、图文等类型。
~~~以下列举常用格式 示例~~~

1.发送文本

代码如下:


def sendtxt_robotmsg(self):# 正式keywx_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():# 调试keywx_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():#keywx_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():# 正式keywx_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

发送结果:

相关文章:

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

企微接口文档 发送应用消息 - 接口文档 - 企业微信开发者中心 发送格式 应用支持推送文本、图片、视频、文件、图文等类型。 ~~~以下列举常用格式 示例~~~ 1.发送文本 代码如下: def sendtxt_robotmsg(self):# 正式keywx_key "xx"wx_webhookurl htt…...

论文阅读——DiffusionDet

在目标检测上使用扩散模型 前向过程:真实框-->随机框 后向过程:随机框-->真实框 前向过程: 一般一张图片真实框的数目不同,填补到同一的N个框,填补方法可以是重复真实框,填补和图片大小一样的框&a…...

elmenetui表格二次封装包含查询框和分页

<!--dataList: 表格数据columnList: 表头字段 宽度minWidth使用slotName字段: 需要对列数据进行处理&#xff0c;不写prop字段&#xff0c;使用slotName字段btnText<String>: 按钮字段btnIcon<String>: 按钮的iconbtnEvent: 按钮事件btnType: 按钮类型getHeigh…...

【机器学习Python实战】线性回归

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;机器学习python实战 欢迎订阅&#xff01;后面的内容会越来越有意思~ ⭐内容说明&#xff1a;本专栏主要针对机器学习专栏的基础内容进行python的实现&#xff0c;部分…...

做外贸这么久,为什么一直做不好?

很多外贸业务员在开发客户过程中&#xff0c;总感觉自己做了很多事情&#xff0c;聊了很多客户&#xff0c;但却总是拿不到单子。 其实&#xff0c;这是由于缺乏对采购商心理的认识程度&#xff0c;没有换位思考&#xff0c;该做的事没做&#xff0c;不该做的事却忙得忘乎所以&…...

IPv4数据报格式

IPv4是IP协议的第四个版本(版本1-3和版本5都未曾使用过)IP地址不能反映任何有关主机位置的地理信息以前还有个逆地址解析协议RAPR(Reverse APR)&#xff0c;它的作用是使只知道自己MAC地址的主机能通过RAPR找到其IP地址&#xff0c;而现在的DHCP(Dynamic Host Configuration Pr…...

搭建网关服务器实现DHCP自动分配、HTTP服务和免密登录

目录 一. 实验要求 二. 实验准备 三. 实验过程 1. 网关服务器新建网卡并改为仅主机模式 2. 修改新建网卡IP配置文件并重启服务 3. 搭建网关服务器的dhcp服务 4. 修改server2网卡配置文件重启服务并效验 5. 设置主机1的网络连接为仅主机模式 6. 给server2和网关服务器之…...

【18年扬大真题】给定有m个整数的递增有序数组a和有n个整数的递减有序数组b,将a数组和b数组归并为递增有序的数组c

【18年扬大真题】 给定有m个整数的递增有序数组a和有n个整数的递减有序数组b&#xff0c; 将a数组和b数组归并为递增有序的数组c。 void Merge(int arr[],int m ,int brr[],int n,int crr[]) {int i 0;int j n-1;int k 0;while(i < m&&j > 0) {if (arr[i] &l…...

图片叠加_图片压缩

图片叠加 try {/* 1 读取第一张图片*/File fileOne new File("1.png");BufferedImage imageFirst ImageIO.read(fileOne);/* 2读取第二张图片 */File fileTwo new File("2.png");BufferedImage imageSecond ImageIO.read(fileTwo);//创建一个最底层画…...

Mybatis-Plus《学习笔记 22版尚硅谷 》——感谢【尚硅谷】官方文档

Mybatis-Plus《学习笔记 22版尚硅谷 》 一、MyBatis-Plus1.简介2.特性3.支持数据库4.框架结构5.官方地址 二、入门案例1.开发环境2.建库建表3.创建工程4.配置编码5.测试查询 三、增删改查1.BaseMapper<T>2.调用Mapper层实现CRUD2.1 插入2.2 删除a、根据ID删除数据b、根据…...

git安装后报git: ‘remote-https‘ is not a git command. See ‘git --help‘.

1. 问题说明 使用的是linux系统&#xff0c;采用编译安装的方式进行安装&#xff0c;安装完成clone项目后提示“git: ‘remote-https’ is not a git command. See ‘git --help’.” 2. 问题解决 需要安装1个额外的库&#xff1a;libcurl4-openssl-de sudo apt-get install …...

场景交互与场景漫游-交运算与对象选取(8-1)

交运算与对象选取 在面对大规模的场景管理时&#xff0c;场景图形的交运算和图形对象的拾取变成了一项基本工作。OSG作为一个场景管理系统&#xff0c;自然也实现了场景图形的交运算&#xff0c;交运算主要封装在osgUtil 工具中在OSG中&#xff0c;osgUtil是一个非常强有力的工…...

Vue中动态Class实战

效果展示 需求 想实现一个假如有5个div块&#xff0c;默认都是灰色&#xff0c;鼠标悬浮到哪个div上&#xff0c;那个div就显示为黑色。 具体的实现业务逻辑可根据这个进行演变 设计 通过动态 class 类名来实现&#xff0c;实现鼠标悬浮到div时动态绑定class 版本 Vue 3.…...

B站短视频如何去水印?一键解析下载B站视频!

在浏览B站视频时&#xff0c;我们有时会遇到带有水印的场景。这些水印可能会干扰我们对视频内容的观看体验&#xff0c;特别是在全屏观看时。此外&#xff0c;当我们想要保存或分享这些视频时&#xff0c;水印也会成为一种障碍。因此&#xff0c;去除水印的需求就变得非常迫切。…...

最大子段和(分治法+动态规划法)

求最大子段和 此类问题通常是求数列中连续子段和的最大值&#xff0c;经典的股票问题就是考察的这个思想及拓展。 例题&#xff1a; AcWing:1054. 股票买卖 Leetcode:53. 最大子数组和 分治法O(nlogn) 此类问题时分适合采用分治思想&#xff0c;因为所有子区间 [ s t a r t …...

内置函数和消息传递API

消息传递范式 消息函数、聚合函数与更新函数 消息函数接受一个参数 edges&#xff0c;这是一个 EdgeBatch 的实例&#xff0c; 在消息传递时&#xff0c;它被DGL在内部生成以表示一批边。edges 有 src、 dst 和 data 共3个成员属性&#xff0c; 分别用于访问源节点、目标节点…...

不标年份的葡萄酒质量好吗?

我们在葡萄酒标上经常看到生产年份&#xff0c;也就是指全部葡萄采摘的年份。旧世界葡萄酒产国认为葡萄酒年份对他们的影响较大&#xff0c;而新世界葡萄酒&#xff0c;年份的意义就稍微小些。甚至有一部分葡萄酒酒标上没有年份。在酒标上没有标注年份的葡萄酒&#xff0c;被称…...

2023年【高处安装、维护、拆除】模拟考试题及高处安装、维护、拆除模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年【高处安装、维护、拆除】模拟考试题及高处安装、维护、拆除模拟考试题库&#xff0c;包含高处安装、维护、拆除模拟考试题答案和解析及高处安装、维护、拆除模拟考试题库练习。安全生产模拟考试一点通结合国家…...

简单模拟 Spring 创建的动态代理类(解释一种@Transactional事务失效的场景)

模拟 Spring 创建的动态代理类 本文主要目的是从父类和子类继承的角度去分析为什么在 Service 标注的业务类中使用 this 调用方法会造成事务失效。解释在这种情况下 this 为什么是原始类对象而不是代理类对象。 问题描述 在 Service 标注的业务类中&#xff0c;如果调用本类…...

万户OA upload任意文件上传漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品&#xff0c;统一的基础管理平台&#xff0c;实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台&#xff0c;将外网信息…...

90%的小程序死于“搜不到”:微信搜索排名优化全拆解

在微信生态里&#xff0c;小程序早已不是“有没有”的问题&#xff0c;而是“能不能被找到”的问题。用户搜索关键词时&#xff0c;你的小程序排在第几位&#xff0c;直接决定了流量的天花板。很多人以为排名靠运气&#xff0c;其实背后有一套可复制的优化逻辑。一、名称是最大…...

ChatGPT开源实现全景图:从RLHF原理到主流项目实战指南

1. 项目概述&#xff1a;一份给开发者的ChatGPT开源实现全景图最近几个月&#xff0c;ChatGPT的火爆程度无需多言。作为一名长期关注自然语言处理和开源生态的技术从业者&#xff0c;我观察到社区里涌现出了一大批旨在复现或探索ChatGPT技术路径的开源项目。这背后反映的&#…...

深入解析GROUPING SETS:多维聚合原理、性能优化与Spark实现

1. 从聚合到多维分析&#xff1a;为什么需要Grouping Sets&#xff1f;在日常的数据分析工作中&#xff0c;我们经常遇到这样的场景&#xff1a;老板不仅要看每个城市、每个车型的销量总和&#xff0c;还想同时看到每个城市的总销量&#xff08;不考虑车型&#xff09;&#xf…...

AI 应用开发到底在开发什么?

很多人刚开始接触 AI 应用开发时&#xff0c;会把它理解成“调用一个大模型接口”。这个理解不能说错&#xff0c;但太浅了。真正能在公司里上线、能产生价值的 AI 应用&#xff0c;往往不是一个简单的聊天框&#xff0c;而是一套完整系统。它要接用户入口&#xff0c;要接业务…...

B/S架构模式在校园管理系统中的应用研究

随着校园信息化建设的不断普及&#xff0c;各类校园管理系统层出不穷&#xff0c;系统架构模式直接决定系统的使用便捷性、运维难度与适配场景。传统C/S架构即客户端/服务器架构&#xff0c;需要用户下载安装专属客户端&#xff0c;存在部署繁琐、升级困难、跨终端适配差、运维…...

免费文档下载终极方案:如何优雅获取百度文库等30+平台资源

免费文档下载终极方案&#xff1a;如何优雅获取百度文库等30平台资源 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为…...

CNN 卷积神经网络

1. 图像基本概念 2. CNN概述 3. 卷积层 3.1 卷积计算 卷积计算 本质上是 卷积核 和 输入数据的局部区域 间做点积&#xff1b; 计算规则&#xff1a;从左到右&#xff0c;从上到下&#xff1b; 3.1.1 Padding 填充 - 填充的像素个数 通过上面的卷积计算过程&#xff0c;最终的…...

如何用bsf创建第一个3D场景:从零开始的完整教程

如何用bsf创建第一个3D场景&#xff1a;从零开始的完整教程 【免费下载链接】B3DFramework Modern C library for the development of real-time graphical applications 项目地址: https://gitcode.com/gh_mirrors/bs/B3DFramework bsf&#xff08;B3DFramework&#x…...

AI部署风险评估:94%准确率为何引发生产灾难

1. 这不是AI的失败&#xff0c;是风险认知体系的塌方 “94%准确率”——这个数字像一枚镀金勋章&#xff0c;挂在每个技术团队的功劳簿上。它出现在季度汇报PPT第一页&#xff0c;写进投资人尽调材料的核心指标栏&#xff0c;甚至被印在内部庆功蛋糕的奶油裱花里。可当这枚勋章…...

云飞云 + SolidWorks服务器 = 10人研发共享方案,附硬件配置清单

10人研发团队用SolidWorks搞设计&#xff0c;是中小制造企业最常见的场景——模型要画、装配要搭、渲染要跑、图纸要存&#xff0c;每天8小时高强度运转。传统模式下每台工作站动辄2~3万元&#xff0c;10台就是25万起步&#xff1b;软件授权10套License&#xff0c;年费轻松30~…...