python應(yīng)用之如何使用Python發(fā)送通知到微信
一、通知方式有哪些?
常見的通知方式有:郵件,電話,短信,微信。
短信和電話:通常是收費(fèi)的,較少使用;
郵件:適合帶文件類型的通知,較正式,存檔使用;
微信:適合告警類型通知,較方便。這里說的微信,是企業(yè)微信。
本文目的:通過企業(yè)微信應(yīng)用給企業(yè)成員發(fā)消息。
二、如何實(shí)現(xiàn)企業(yè)微信通知?
1、新建應(yīng)用
登陸網(wǎng)頁版企業(yè)微信 (https://work.weixin.qq.com),點(diǎn)擊 應(yīng)用管理 → 應(yīng)用 → 創(chuàng)建應(yīng)用
上傳應(yīng)用的 logo,輸入應(yīng)用名稱(債券打新),再選擇可見范圍,成功創(chuàng)建一個(gè)告警應(yīng)用
2、獲取Secret
使用 Python 發(fā)送告警請(qǐng)求,其實(shí)就只使用到兩個(gè)接口:
獲取 Token :https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpid}&corpsecret={secret}
發(fā)送請(qǐng)求:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}
可以看到,最重要的是 corpid 和 secret:
corpid:唯一標(biāo)識(shí)你的企業(yè)
secret:應(yīng)用級(jí)的密鑰,有了它程序才知道你要發(fā)送該企業(yè)的哪個(gè)應(yīng)用
corpid 可以通過 我的企業(yè) → 企業(yè)信息 → 企業(yè)id 獲取
secret 可以通過 點(diǎn)擊 新創(chuàng)建的應(yīng)用(債券打新) → 查看 secret → 發(fā)送 來獲取
最后將 corpid 和 secret 填入下面的常量中。
3、代碼實(shí)現(xiàn)
import json import time import requests ''' 本文件主要實(shí)現(xiàn)通過企業(yè)微信應(yīng)用給企業(yè)成員發(fā)消息 ''' 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.") return return json.loads(rep.content)['access_token'] def send_msg(self, content): url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + self.token header = { "Content-Type": "application/json" } form_data = { "touser": "FengXianMei",#接收人 "toparty": "1",#接收部門 "totag": " TagID1 | TagID2 ",#通訊錄標(biāo)簽id "msgtype": "textcard", "agentid": 1000002,#應(yīng)用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.") return return 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\">今日有新債,堅(jiān)持打新!</div>") print('消息已發(fā)送!')
4、實(shí)現(xiàn)效果:
三、參考資料
總結(jié)
到此這篇關(guān)于python應(yīng)用之如何使用Python發(fā)送通知到微信的文章就介紹到這了,更多相關(guān)Python發(fā)送通知到微信內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)讀取excel表格詳解方法
python操作excel主要用到xlrd和xlwt兩個(gè)庫,xlrd讀取表格數(shù)據(jù),支持xlsx和xls格式的excel表格;xlwt寫入excel表格數(shù)據(jù)2022-07-07使用python實(shí)現(xiàn)數(shù)組、鏈表、隊(duì)列、棧的方法
數(shù)據(jù)結(jié)構(gòu)是指相互之間存在著一種或多種關(guān)系的數(shù)據(jù)元素的集合和該集合中數(shù)據(jù)元素之間的關(guān)系組成。這篇文章主要介紹了使用python實(shí)現(xiàn)數(shù)組、鏈表、隊(duì)列、棧的相關(guān)知識(shí),需要的朋友可以參考下2019-12-12Diango + uwsgi + nginx項(xiàng)目部署的全過程(可外網(wǎng)訪問)
這篇文章主要給大家介紹了關(guān)于Diango + uwsgi + nginx項(xiàng)目部署的全過程(可外網(wǎng)訪問),文中通過示例代碼將部署的過程介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04python使用pip成功導(dǎo)入庫后還是報(bào)錯(cuò)的解決方法(針對(duì)vscode)
最近在學(xué)爬蟲,但在使用Scrapy包時(shí),在終端通過pip裝好包以后,在pycharm中導(dǎo)入包時(shí),依然會(huì)報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于python使用pip成功導(dǎo)入庫后還是報(bào)錯(cuò)的解決方法,需要的朋友可以參考下2022-07-07python之生成多層json結(jié)構(gòu)的實(shí)現(xiàn)
今天小編就為大家分享一篇python之生成多層json結(jié)構(gòu)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python實(shí)現(xiàn)的簡(jiǎn)單線性回歸算法實(shí)例分析
這篇文章主要介紹了Python實(shí)現(xiàn)的簡(jiǎn)單線性回歸算法,結(jié)合實(shí)例形式分析了線性回歸算法相關(guān)原理、功能、用法與操作注意事項(xiàng),需要的朋友可以參考下2018-12-12