【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息

简介: 【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
  • 大家好,我是同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:


今天来了解下企业微信中,如何利用API主动给用户发应用消息。

0. 接口说明

0.1 发送消息接口

请求方式:POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

在请求地址里,其实就需要一个 ACCESS_TOKEN

  • 接口返回示例
{
  "errcode" : 0,
  "errmsg" : "ok",
  "invaliduser" : "userid1|userid2",
  "invalidparty" : "partyid1|partyid2",
  "invalidtag": "tagid1|tagid2",
  "unlicenseduser" : "userid3|userid4",
  "msgid": "xxxx",
  "response_code": "xyzxyz"
}
  • 发送消息的格式,以文本消息为例
{
   "touser" : "UserID1|UserID2|UserID3",
   "toparty" : "PartyID1|PartyID2",
   "totag" : "TagID1 | TagID2",
   "msgtype" : "text",
   "agentid" : 1,
   "text" : {
       "content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"
   },
   "safe":0,
   "enable_id_trans": 0,
   "enable_duplicate_check": 0,
   "duplicate_check_interval": 1800
}
  • 支持的发送消息类型

  • 接口使用限制
  • 调用建议:大部分企业应用在每小时的0分或30分触发推送消息,容易造成资源挤占,从而投递不够及时,建议尽量避开这两个时间点进行调用。
  • 频率限制:每应用不可超过账号上限数*200人次/天(注:若调用api一次发给1000人,算1000人次;若企业账号上限是500人,则每个应用每天可发送100000人次的消息)。每应用对同一个成员不可超过30次/分钟,1000次/小时,超过部分会被丢弃不下发

0.2 获取 Access_token接口

请求方式: GET(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
  • 返回结果
{
   "errcode": 0,
   "errmsg": "ok",
   "access_token": "accesstoken000001",
   "expires_in": 7200
}
  • 注意事项
  • 每个应用有独立的secret,获取到的access_token只能本应用使用,所以每个应用的access_token应该分开来获取
  • 开发者需要缓存access_token,用于后续接口的调用(注意:不能频繁调用gettoken接口,否则会受到频率拦截)。当access_token失效或过期时,需要重新获取。
  • access_token的有效期通过返回的expires_in来传达,正常情况下为7200秒(2小时),有效期内重复获取返回相同结果,过期后获取会返回新的access_token。
  • access_token至少保留512字节的存储空间。

1. 实践

现在有很多可以使用的开源库来简化以上接口的调用,不用自己去获取和缓存access_token,不用自己去组装请求链接等,非常方便。

官方文档中收集了一些针对企业微信API的开源封装:

我选取了其中的 corpwechatbot,号称开箱即用,一行代码实现消息推送

1.1 corpwechatbot,一行代码实现消息推送

1.1.1 安装

pip install -U corpwechatbot

1.1.2 示例Demo

直接copy这段代码,修改里面的corpid, corpsecret和agentid:

import cptools
from corpwechatbot.app import AppMsgSender
# from corpwehcatbot import AppMsgSender  # both will work
app = AppMsgSender(corpid='xxx',  # 你的企业id
                   corpsecret='P-xxx',  # 你的应用凭证密钥
                   agentid='1000002', # 你的应用id
                   log_level=cptools.INFO, # 设置日志发送等级,INFO, ERROR, WARNING, CRITICAL,可选
                #    proxies={'http':'http:example.com', 'https':'https:example.com'}  # 设置代理,可选
                   )   
# 如果你在本地配置添加了企业微信本地配置文件,也可以直接初始化AppMsgSender,而无需再显式传入密钥参数
# app = AppMsgSender()
app.send_text(content="你好,我是同学小张!")

点击运行,毫无意外地,发生了意外:

1.1.3 配置IP

在企业微信管理后台 —> 应用管理 —> 自己的应用界面,划到页面底部。

将你服务的IP填入到企业可信IP中。

重新运行示例Demo,发送成功!

1.1.4 看一眼源码

如果看一下源码的话,你就会发现,它其实就是将以上获取 Access Token的接口和发送消息的接口进行了一层封装,并进行了相应的缓存。

2. 参考

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是 同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关文章
|
10月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
10月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
11月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
1111 7
|
11月前
|
安全 NoSQL API
拼多多:通过微信支付API实现社交裂变付款的技术解析
基于微信JSAPI构建社交裂变支付系统,用户发起拼单后生成预订单与分享链接,好友代付后通过回调更新订单并触发奖励。集成微信支付、异步处理、签名验签与Redis关系绑定,提升支付成功率与裂变系数,实现高效安全的闭环支付。
1065 0
|
11月前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
11月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
11月前
|
缓存 监控 供应链
唯品会自定义 API 自定义操作深度分析及 Python 实现
唯品会开放平台提供丰富API,支持商品查询、订单管理、促销活动等电商全流程操作。基于OAuth 2.0认证机制,具备安全稳定的特点。通过组合调用基础接口,可实现数据聚合、流程自动化、监控预警及跨平台集成,广泛应用于供应链管理、数据分析和智能采购等领域。结合Python实现方案,可高效完成商品搜索、订单分析、库存监控等功能,提升电商运营效率。
|
11月前
|
缓存 监控 供应链
京东自定义 API 操作深度分析及 Python 实现
京东开放平台提供丰富API接口,支持商品、订单、库存等电商全链路场景。通过自定义API组合调用,可实现店铺管理、数据分析、竞品监控等功能,提升运营效率。本文详解其架构、Python实现与应用策略。
缓存 监控 供应链
400 0
缓存 监控 数据挖掘
275 0

推荐镜像

更多