应用支持推送文本、图片、视频、文件、图文等类型。
~~~以下列举常用格式 示例~~~
代码如下:
-
- 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
发送结果:
代码如下:
图片存放在这里:
- #图片所在文件夹路径
- 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
发送结果:
文件路径:
代码如下:
-
- 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
发送结果:
文件路径:
代码如下:
- 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
发送结果: