参考官方文档: 发送应用消息、调试工具、简易教程
先看完整代码及效果展示,然后具体分析
import requests
import json# 1,获取access_token
url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}".format("企业ID corpid", "创建的应用的corpsecret")
ret = requests.get(url)
access_token = json.loads(ret.text)['access_token']# 2,使用access_token发送应用消息
url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={}".format(access_token)
data = {"touser": "@all","msgtype": "text","agentid": 1000002,"text": {"content": "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"},"safe": 0,"enable_id_trans": 0,"enable_duplicate_check": 0
}ret = requests.post(url, json.dumps(data))
print(ret.text)
代码输出结果
查看发送的消息
一、获取access_token
参考官方文档: 获取access_token
1,获取corpid和corpsecret用来请求API获取access_token
参数官方文档:获取corpid和corpsecret 其中corpsecret需要先自己创建应用才能查看(我这里创建了一个名为“内部消息”的应用),如图:
点击应用“内部消息”即可查看到secret了
二、发送应用消息
1,agentid参数的获取
点击应用“内部消息”即可查看到AgentId了
剩下的直接请求接口发送消息就可以了
三、报错解决:
参考官方文档: 错误代码查询,搜索errcode即可查看报错详情
1,errcode: 60020
{"errcode":60020,"errmsg":"not allow to access from your ip, hint: [1678075075372880301554475], from ip: xx.xx.xx.xx, more info at https://open.work.weixin.qq.com/devtool/query?e=60020"}
解决方法:进入到创建的应用里有个企业可信IP,点击配置
在企业可信IP中填写入报错信息中的from ip的ip地址即可(下图IP只是示例)
如第一次配置,可能还需要先配置域名(这个域名是自己已经备案的域名),并将根据页面步骤下载的txt文件上传到服务器上,可直接通过域名访问。配置完域名后再配置企业可信IP。