使用企业微信发送应用消息API实现消息推送

参考官方文档: 发送应用消息调试工具简易教程

先看完整代码及效果展示,然后具体分析

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

参数官方文档:获取corpidcorpsecret 其中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。

猜你喜欢

转载自blog.csdn.net/qq_37140721/article/details/129358557