通過企業微信API接口發送消息


  最近給公司測試組內部開發一個記賬小工具,當賬目出現問題的時候需要發送消息通知大家,前期主要采用的QQ發送通知消息,但是有一天突然無法連接到QQ服務器,運維的同學建議采用微信的方式對接然后進行告警,所以這里采用微信的企業號進行消息發送,微信企業號目前已經變更為企業微信,所以需要注冊一個企業微信;

一、獲取企業微信接口文檔,實現消息發送;

  1.采用創建發送應用消息,企業微信接口文檔:https://work.weixin.qq.com/api/doc#90000/90135/90664;

    企業微信提供了好幾種發送消息的模式,主要應用支持推送文本、圖片、視頻、文件、圖文等類型;

    

  2.我這里主要作用是發送消息告訴想過成員,那么我這里只要發送文件消息即可,下面看下發送消息的接口定義

 3、根據接口定義獲取我們需要的相關信息,首先我需要獲取access_token,我們查看下獲取access_token接口文檔

   根據接口文檔,獲取access_token值,我們需要獲取Corpid和SECRECT這兩個參數,發送消息我們需要知道關鍵參數agentid,toparty;

二、獲取相應的參數,為接口請求創造條件

  1.注冊成功以后需要我們創建一個應用;

  

  2. 應用創建成功,我們需要配置可見范圍,配置這里主要為了后期發送消息,可以指定用戶組,這里有幾個字段很關鍵,Agentid,Secret;

  

  3.獲取企業微信corpid值

 

 三、獲取相應參數以后通過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,過期以后進行重復獲取;

四、微信接收企業微信的消息;

  一般情況接收企業微信需要安裝企業微信單獨的程序,這樣顯示的很不方便,所以需要關系下個人微信;

 

  通過連接微信->微信工作台->邀請關注 下載對應的二維碼即可,個人微信關注以后就可以直接接收消息,其實這個過程跟不關注公眾號一樣;

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM