当前位置:首页 > 实用技巧 >

企业微信怎么把图片和文字一起发(企业微信怎么图片消息一起发)

来源:原点资讯(www.yd166.com)时间:2023-04-30 06:30:35作者:YD166手机阅读>>

import os, re, time, datetime, base64, requests, json, hashlib from requests_toolbelt import MultipartEncoder from urllib import parse # 群发文本消息 def SendGroupmsg(textContent, webHookUrl, mentioned_list=[],mentioned_mobile_list=[]): """ 7 发送微信群组机器人消息 8 :param textContent: 消息内容 9 :param webHookUrl: 群组机器人WebHook 10 :param mentioned_list: userid的列表,提醒群中的指定成员(@某个成员),@all表示提醒所有人 11 :param mentioned_mobile_list: 手机号列表,提醒手机号对应的群成员(@某个成员),@all表示提醒所有人 12 :return: 13 """ # url为群组机器人WebHook,配置项 url = webHookUrl headers = { "content-type": "application/json" } msg = {"msgtype": "text", "text": { "content": textContent, "mentioned_list":mentioned_list, "mentioned_mobile_list": mentioned_mobile_list }} # 发送文本消息27 # 发送请求 try: result = requests.post(url, headers=headers, json=msg) return True except Exception as e: # print("Requset Failed:", e) return False # 群发图片 def sendImg(imgPath,webHookUrl): """ 发送微信群组机器人图片 图片支持jpg,png两种格式,大小不能超过2Mb :param imgPath: 图片的本地路径 :param webHookUrl: 群组机器人WebHook :return: """ # url为群组机器人WebHook,配置项 url = webHookUrl 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() headers = {"content-type": "application/json"} msg = {"msgtype": "image","image": {"base64": base64Content,"md5": md5Content}} # 发送请求 try: result = requests.post(url, headers=headers, json=msg) return True except Exception as e: # print("Requset Failed:", e) return False # 发送群文件 def QYWXSendGroupFile(filepath, url): """ 发送微信群组机器人文件 :param filepath: 文件路径 :param url: 群组机器人WebHook :return: """ # url为群组机器人WebHook,配置项 url = url headers = { "content-type": "application/json" } # 发送文件需要先上传文件获取media_id media_id = UploadFile(filepath, url) msg = {"msgtype": "file", "file": {"media_id": media_id}} # 发送请求 try: #result =requests.post(url, headers=headers, json=msg) requests.post(url, headers=headers, json=msg) return True except Exception as e: print("企业微信机器人发送文件失败,详细信息:" str(e)) return False # 上传要发送的文件 def UploadFile(filepath, webHookUrl): """ 企业微信机器人上传文件,发送文件前需要先上传--要求文件大小在5B~20M之间 :param filepath: 文件路径 :param webHookUrl: 群组机器人WebHook :return: media_id """ # url为群组机器人WebHook,配置项 webHookUrl = webHookUrl params = parse.parse_qs(parse.urlparse(webHookUrl).query) webHookKey = params['key'][0] upload_url = f'https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key={webHookKey}&type=file' headers = {"Accept": "application/json, text/plain, */*", "Accept-Encoding": "gzip, deflate", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36"} filename = os.path.basename(filepath) try: multipart = MultipartEncoder( fields={'filename': filename, 'filelength': '', 'name': 'media', 'media': (filename, open(filepath, 'rb'), 'application/octet-stream')}, boundary='-------------------------acebdf13572468') headers['Content-Type'] = multipart.content_type resp = requests.post(upload_url, headers=headers, data=multipart) json_res = resp.json() if json_res.get('media_id'): # print(f"企业微信机器人上传文件成功,file:{filepath}") return json_res.get('media_id') except Exception as e: # print(f"企业微信机器人上传文件失败,file: {filepath}, 详情:{e}") print("企业微信机器人上传文件失败,详细信息:" str(e)) return "" if __name__=='__main__': url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxxx' textContent = 'test01' imagePath = '2022050601.png' #SendGroupMsg(textContent,url) #sendImg(imagePath,url)

栏目热文

三台路由器用什么连接(三台路由器串联怎么设置)

三台路由器用什么连接(三台路由器串联怎么设置)

因本人使用全屋智能家居,虽然优选zigbee协议的,但做为垃圾佬的我各种捡捡捡,最终攒了一堆wifi协议的产品,最后还是...

2023-04-30 07:10:07查看全文 >>

三台路由器名字可以设置一样吗(两台路由器一模一样怎么设置)

三台路由器名字可以设置一样吗(两台路由器一模一样怎么设置)

大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频。今天和大家讲一下,多个...

2023-04-30 06:33:02查看全文 >>

三台路由器无线连接(三台路由器怎么无线串联)

三台路由器无线连接(三台路由器怎么无线串联)

多台路由器如何级联?https://smb.tp-link.com.cn/service/detail_article_...

2023-04-30 06:31:28查看全文 >>

三台路由器设置视频(三台路由器怎么连接图解)

三台路由器设置视频(三台路由器怎么连接图解)

很多人因为无线路由器的安装和设置大伤脑筋,近日小编就把相关视频分享个大家,希望可以帮到大家。,...

2023-04-30 06:54:40查看全文 >>

三台路由器设置一样的名字和密码(三个路由器怎么设置图解)

三台路由器设置一样的名字和密码(三个路由器怎么设置图解)

以3台路由器为例,一台总路由,另两台作为分路由放置在其它2处,实现三台无缝漫游;一:总路由器拨号上网并开启DHCP服务,...

2023-04-30 07:12:03查看全文 >>

微信图片配文字一起发(微信图片文字怎么能一起发)

微信图片配文字一起发(微信图片文字怎么能一起发)

1、快乐活在当下,尽心就是完美。爱只能遇见,无法预见。我们总是习惯带着记忆,走现在的路,然后在不经意的某个瞬间,想起过去...

2023-04-30 07:10:25查看全文 >>

word里面所有段落有缩进怎么调整(word段落左右各缩进怎么设置)

word里面所有段落有缩进怎么调整(word段落左右各缩进怎么设置)

我们每天都在用Word办公,你是否能熟练使用Word文档?今天就给大家分享6个大神也在用的Word实用技巧,掌握后轻松提...

2023-04-30 06:30:06查看全文 >>

word单个段落整体缩进(word怎么分段落缩进)

word单个段落整体缩进(word怎么分段落缩进)

段落排版一. 段落设置选定段落/开始选项卡中/段落(点段落设置)/缩进和间距选项卡/1. 对齐方式:左对齐、右对齐、居中...

2023-04-30 07:07:10查看全文 >>

过膝大衣搭配鞋子图片(超长款大衣怎么搭配鞋子)

过膝大衣搭配鞋子图片(超长款大衣怎么搭配鞋子)

今冬的“过膝大衣”这么流行,几乎每一个集美都有下手选购,这么潮流的大衣,但是好多集美都不太会选择鞋子,如果折在了鞋子上,...

2023-04-30 06:41:19查看全文 >>

文档排行