準備工作:
??? 到企業微信官網,注冊一個企業;登錄企業微信后臺,創建一個“自建”應用, 獲取企業ID、agentid、secret這3個必要的參數;在企業微信的通訊錄中,創建多個測試賬號;在手機端安裝“企業微信”APP,使用測試賬號登錄到企業微信,準備接收消息。
程序代碼 :
??? 企業微信提供API開發接口,通過HTTPS的GET、POST方法與企業微信后臺進行交互,完成獲取令牌、發送數據、獲取數據的操作。
??? Python代碼主要使用requests庫,將企業微信API進行簡單封裝,模擬https的GET、POST操作,向指定的用戶發送企業微信消息。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import requests
import json
class WeChat:
def __init__(self):
self.CORPID = 'ww2e1234567895498f5498f' #企業ID,在管理后臺獲取
self.CORPSECRET = 'xy11234567898hk_ecJ123456789DhKy4_1y12345OI'#自建應用的Secret,每個自建應用里都有單獨的secret
self.AGENTID = '1000002' #應用ID,在后臺應用中獲取
self.TOUSER = "maomao|dingding" # 接收者用戶名,多個用戶用|分割
def _get_access_token(self):
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
values = {'corpid': self.CORPID,
'corpsecret': self.CORPSECRET,
}
req = requests.post(url, params=values)
data = json.loads(req.text)
return data["access_token"]
def get_access_token(self):
try:
with open('./tmp/access_token.conf', 'r') as f:
t, access_token = f.read().split()
except:
with open('./tmp/access_token.conf', 'w') as f:
access_token = self._get_access_token()
cur_time = time.time()
f.write('\t'.join([str(cur_time), access_token]))
return access_token
else:
cur_time = time.time()
if 0 < cur_time - float(t) < 7260:
return access_token
else:
with open('./tmp/access_token.conf', 'w') as f:
access_token = self._get_access_token()
f.write('\t'.join([str(cur_time), access_token]))
return access_token
def send_data(self, message):
send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + self.get_access_token()
send_values = {
"touser": self.TOUSER,
"msgtype": "text",
"agentid": self.AGENTID,
"text": {
"content": message
},
"safe": "0"
}
send_msges=(bytes(json.dumps(send_values), 'utf-8'))
respone = requests.post(send_url, send_msges)
respone = respone.json() #當返回的數據是json串的時候直接用.json即可將respone轉換成字典
return respone["errmsg"]
if __name__ == '__main__':
wx = WeChat()
wx.send_data("這是程序發送的第1條消息!\n Python程序調用企業微信API,從自建應用“告警測試應用”發送給管理員的消息!")
wx.send_data("這是程序發送的第2條消息!")
運行截圖:
?
參考鏈接:
python實現通過企業微信發送消息
https://www.cnblogs.com/bluezms/p/8948187.html
?
python腳本--用企業微信實現發送信息
https://blog.csdn.net/liyyzz33/article/details/86080936
?
企業微信后臺管理:
https://work.weixin.qq.com/
?
企業微信API文檔:
https://work.weixin.qq.com/api/doc#90000/90003/90487
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
