Python如何实现发送警告通知到企业微信
这篇文章主要介绍“Python如何实现发送警告通知到企业微信”,在日常操作中,相信很多人在Python如何实现发送警告通知到企业微信问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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 获取相对麻烦一点,点击前面的创建应用,点击 查看 secret
然后再点击发送就会发送到你的企业微信上
最后将 corpid 和 secret 填入下面的常量中。
importjsonimportdatetimeimportrequestsCORP_ID=""SECRET=""classWeChatPub:s=requests.session()def__init__(self):self.token=self.get_token()defget_token(self):url=f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={CORP_ID}&corpsecret={SECRET}"rep=self.s.get(url)ifrep.status_code!=200:print("requestfailed.")returnreturnjson.loads(rep.content)['access_token']defsend_msg(self,content):url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+self.tokenheader={"Content-Type":"application/json"}form_data={"touser":"@all","toparty":"PartyID1|PartyID2","totag":"TagID1|TagID2","msgtype":"textcard","agentid":1000002,"textcard":{"title":"服务异常告警","description":content,"url":"URL","btntxt":"更多"},"safe":0}rep=self.s.post(url,data=json.dumps(form_data).encode('utf-8'),headers=header)ifrep.status_code!=200:print("requestfailed.")returnreturnjson.loads(rep.content)
然后就可以通过 send_msg 函数发送消息了。
wechat=WeChatPub()now=datetime.datetime.now()timenow=now.strftime('%Y年%m月%d日%H:%M:%S')wechat.send_msg(f"{timenow}