使用Python實(shí)現(xiàn)企業(yè)微信通知功能案例分析
前言
常見的通知方式有:郵件,電話,短信,微信。短信和電話:通常是收費(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)
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)效果:



今天給大家分享的用Python實(shí)現(xiàn)企業(yè)微信通知的小案例到這里就給大家做出來了,千言萬語,都不如自己都手操作來得實(shí)際。
到此這篇關(guān)于使用Python實(shí)現(xiàn)企業(yè)微信通知功能案例分析的文章就介紹到這了,更多相關(guān)Python企業(yè)微信通知內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用python實(shí)現(xiàn)男神女神顏值打分系統(tǒng)(推薦)
這篇文章主要介紹了用python做一個(gè)男神女神顏值打分系統(tǒng)(程序分析見注釋),需要的朋友可以參考下2019-10-10
python之隨機(jī)數(shù)函數(shù)的實(shí)現(xiàn)示例
這篇文章主要介紹了python之隨機(jī)數(shù)函數(shù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
詳解pyqt5 動(dòng)畫在QThread線程中無法運(yùn)行問題
這篇文章主要介紹了詳解pyqt5 動(dòng)畫在QThread線程中無法運(yùn)行問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05
python實(shí)現(xiàn)求解列表中元素的排列和組合問題
本篇文章給大家分享使用python的內(nèi)置模塊實(shí)現(xiàn)求解列表中元素的排列和組合問題,具體實(shí)現(xiàn)代碼大家參考下本文2018-03-03
淺談django 模型類使用save()方法的好處與注意事項(xiàng)
這篇文章主要介紹了淺談django 模型類使用save()方法的好處與注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
使用Python腳本來控制Windows Azure的簡單教程
這篇文章主要介紹了使用Python腳本來控制Windows Azure的簡單教程,由于微軟官方提供了Python SDK,使得用戶自己用Python控制Azure成為了可能,需要的朋友可以參考下2015-04-04

