如何用Python发送通知到微信?
来源丨网络
一、通知方式有哪些?
常见的通知方式有:邮件,电话,短信,微信。短信和电话:通常是收费的,较少使用;邮件:适合带文件类型的通知,较正式,存档使用;微信:适合告警类型通知,较方便。这里说的微信,是企业微信。
本文目的:通过企业微信应用给企业成员发消息。
二、如何实现企业微信通知?
1、新建应用
登陆网页版企业微信 (https://work.weixin.qq.com),点击 应用管理 → 应用 → 创建应用
上传应用的 logo,输入应用名称(债券打新),再选择可见范围,成功创建一个告警应用
2、获取Secret
使用 Python 发送告警请求,其实就只使用到两个接口:
获取 Token :https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpid}&corpsecret={secret}
发送请求:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}
可以看到,最重要的是 corpid 和 secret:
corpid:唯一标识你的企业
secret:应用级的密钥,有了它程序才知道你要发送该企业的哪个应用
corpid 可以通过 我的企业 → 企业信息 → 企业id 获取
secret 可以通过 点击 新创建的应用(债券打新) → 查看 secret → 发送 来获取
最后将 corpid 和 secret 填入下面的常量中。
3、代码实现
import json
import time
import requests
'''
本文件主要实现通过企业微信应用给企业成员发消息
'''CORP_ID = "xxxx"
SECRET = "xxxx"class WeChatPub:s = requests.session()def __init__(self):self.token = self.get_token()def get_token(self):url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={CORP_ID}&corpsecret={SECRET}"rep = self.s.get(url)if rep.status_code != 200:print("request failed.")returnreturn json.loads(rep.content)['access_token']def send_msg(self, content):url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + self.tokenheader = {"Content-Type": "application/json"}form_data = {"touser": "FengXianMei",#接收人"toparty": "1",#接收部门"totag": " TagID1 | TagID2 ",#通讯录标签id"msgtype": "textcard","agentid": 1000002,#应用ID"textcard": {"title": "债券打新提醒","description": content,"url": "URL","btntxt": "更多"},"safe": 0}rep = self.s.post(url, data=json.dumps(form_data).encode('utf-8'), headers=header)if rep.status_code != 200:print("request failed.")returnreturn json.loads(rep.content)if __name__ == "__main__":wechat = WeChatPub()timenow = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())wechat.send_msg(f"<div class=\"gray\">{timenow}</div> <div class=\"normal\">注意!</div><div class=\"highlight\">今日有新债,坚持打新!</div>")print('消息已发送!')
4、实现效果:
- END -
对比Excel系列图书累积销量达15w册,让你轻松掌握数据分析技能,可以在全网搜索书名进行了解选购:
如何用Python发送通知到微信?相关推荐
- 如何用 Python 发送通知到微信?
点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货,第一时间送达!!! 来源丨网络 一.通知方式有哪些? 常见的通知方式有:邮件,电话,短信,微信 ...
- #yyds盘点#如何用Python发送告警通知到钉钉?
如何用Python发送告警通知到钉钉? 一.前言 前不久,看到了明哥写的如何用Python发送警告通知到企业微信,想起来之前写过用Pytho发送指定格式数据到钉钉的服务,本文将之前的代码重构下,变成一 ...
- 【Python】如何用Python发送SMTP邮件
[背景] 自动发送邮件通知是流成自动化系统必备的功能,今天介绍如何用Python实现. [代码] 这里以163邮箱为例 def send_smtp_mail(host="smtp.163.c ...
- python发送文件给微信好友_基于Python实现定时自动给微信好友发送天气预报
效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...
- 利用python对微信云数据库_如何用python看看女神的微信百度云里面有啥?
最近幼稚鬼一直苦心研究,怎么给大家发放更多的资料和资源链接.大家都知道,百度云的分享链接是很容易被和谐的,群里除了分享链接外,就是各种抱怨 "怎么又失效了","又和谐了. ...
- 大神教你如何用 Python 快速分析你的微信好友
目录 写在前面 环境说明 相关代码 效果展示 写在前面 itchat基于python开发,封装了大量调取微信功能的接口,使得开发人员可以快速基于这个框架来完成一些微信操作,在这之前我们要做的就是扫 ...
- python发送文件给微信好友_python获取天气接口给指定微信好友发天气预报
先看下效果图: 用到的模块: PyMySQL requests threading wxpy 要实现上面的示例,首先是有两大块地方 获取天气信息 通过微信将天气信息发送出去 而获取天气信息又包括几个小 ...
- python发送文件给微信好友_Python定时自动给微信好友发送天气预报
效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...
- python发送消息到微信_通过python登录微信发送消息
通过扫描二维码登录后发送信息,主要应用到了wxpy库,具体的看代码 from threading import Timer from wxpy import * import requests # # ...
最新文章
- 开发者 AI 转型指南
- java double用法_Java Double doubleToLongBits()用法及代码示例
- javascript 处理HTML元素必须避免使用的一种方法
- 最全金蝶KIS记账王使用问题汇总
- Sharding-Sphere,Sharding-JDBC_分库分表(水平分库_水平分表)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记004
- Vue源码:指令和生命周期
- 暴风影音皮肤_暴风影音16周年纪念版 v9.04
- lwm2m协议 开源服务器,LwM2M协议接入
- 《UnityAPI.Transform变换》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Transform+eulerAngles+LookAt+立钻哥哥++OK++)
- 什么是CAP理论? cp ap原则的含义
- 苹果MFI bluetooth认证开发过程:iDevice和accessory
- 互联网时代成功创业故事
- diy计算机工作站,程序猿 篇一:迟到的 618 攒机实录:自建巨硬工作站
- 使用left join后添加判断会出错
- 前端知识-vue-3、组件化开发
- 高级篇Docker复杂安装详说
- this和super用法
- css打造超能陆战队--大白
- 近几年比较火的团队协作、项目管理工具测评及工具选择原则介绍
- shell while 结束循环_Linux技巧:使用bash read命令实现一个简易shell(完整版)
热门文章
- 【机器学习】集成学习之boosting AdaBoost
- c语言中if条件语句说课内容,if语句-ppt-说课--试讲-C语言.ppt
- 直播开发项目发展下半场,转战AI直播开启全新模式
- python全栈开发 * 32知识点汇总 * 180717
- C++11列表初始化
- sql 语言中 when case 用法
- springmvc 后台向页面EasyUI的Datagrid传递数据(JSon格式)
- vs2013+EF6+Mysql
- ado.net 插入一条数据
- dubbo学习(四)配置dubbo 注解方式配置