最近給公司測試組內部開發一個記帳小工具,當帳目出現問題的時候須要發送消息通知你們,前期主要採用的QQ發送通知消息,可是有一天忽然沒法鏈接到QQ服務器,運維的同窗建議採用微信的方式對接而後進行告警,因此這裏採用微信的企業號進行消息發送,微信企業號目前已經變動爲企業微信,因此須要註冊一個企業微信;python
1、獲取企業微信接口文檔,實現消息發送;redis
1.採用建立發送應用消息,企業微信接口文檔:https://work.weixin.qq.com/api/doc#90000/90135/90664;json
企業微信提供了好幾種發送消息的模式,主要應用支持推送文本、圖片、視頻、文件、圖文等類型;c#
2.我這裏主要做用是發送消息告訴想過成員,那麼我這裏只要發送文件消息便可,下面看下發送消息的接口定義api
三、根據接口定義獲取咱們須要的相關信息,首先我須要獲取access_token,咱們查看下獲取access_token接口文檔緩存
根據接口文檔,獲取access_token值,咱們須要獲取Corpid和SECRECT這兩個參數,發送消息咱們須要知道關鍵參數agentid,toparty;服務器
2、獲取相應的參數,爲接口請求創造條件微信
1.註冊成功之後須要咱們建立一個應用;運維
2. 應用建立成功,咱們須要配置可見範圍,配置這裏主要爲了後期發送消息,能夠指定用戶組,這裏有幾個字段很關鍵,Agentid,Secret;工具
3.獲取企業微信corpid值
3、獲取相應參數之後經過python 實現自動發送消息
# 獲取微信access_token def get_token(): payload_access_token = {'corpid': 'wwfcdce534bxxxxx', 'corpsecret': '-hpCA42o4cm1DzgSfS23XtEZ93ZI3VNwDgcP-xxxxxUd4X6Q'} token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken' r = requests.get(token_url, params=payload_access_token) dict_result = (r.json()) return dict_result['access_token'] def send_message(): url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % get_token() data = {"toparty": 1, "msgtype": "text", "agentid": xxxxx, "text": {"content": "提現成功"}, "safe": 0} data = json.dumps(data, ensure_ascii=False) r = requests.post(url=url, data=data.encode("utf-8").decode("latin1")) return r.json() if __name__ == '__main__': send_message()
這樣咱們就能夠將消息發送至對應的用戶組,這裏須要注意access_token 的有效期7200s,並且接口的請求次數有限制,因此咱們須要對返回的token值進行緩存,能夠存儲在redis或者MySQL,過時之後進行重複獲取;
4、微信接收企業微信的消息;
通常狀況接收企業微信須要安裝企業微信單獨的程序,這樣顯示的很不方便,因此須要關係下我的微信;
經過鏈接微信->微信工做臺->邀請關注 下載對應的二維碼便可,我的微信關注之後就能夠直接接收消息,其實這個過程跟不關注公衆號同樣;