使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能
一、概述
本文將介紹如何使用python3給企業(yè)微信發(fā)送消息。我的環(huán)境是linux + python3.6.10。
二、python腳本
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/8/20 上午12:42
# @Author : wangying
# @Site :
# @File : 企業(yè)微信.py
# @Software: PyCharm
#!/root/.virtualenvs/wechat/bin/python
# usage: send message via wechat
import requests, sys, json
import urllib3
urllib3.disable_warnings()
###填寫(xiě)參數(shù)###
# Corpid是企業(yè)號(hào)的標(biāo)識(shí)
Corpid = "ww32a580fceb30f350"
# Secret是管理組憑證密鑰
Secret = "QyBTbg1QL9lmNwaErqv1DMV0Y_G3lZre268E0hpTDqk"
# 應(yīng)用ID
Agentid = "1000004"
# token_config文件放置路徑
Token_config = r'/tmp/zabbix_wechat_config.json'
###下面的代碼都不需要?jiǎng)?##
def GetTokenFromServer(Corpid, Secret):
"""獲取access_token"""
Url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
Data = {
"corpid": Corpid,
"corpsecret": Secret
}
r = requests.get(url=Url, params=Data, verify=False)
print(r.json())
if r.json()['errcode'] != 0:
return False
else:
Token = r.json()['access_token']
file = open(Token_config, 'w')
file.write(r.text)
file.close()
return Token
def SendMessage(Partyid, Subject, Content):
"""發(fā)送消息"""
# 獲取token信息
try:
file = open(Token_config, 'r')
Token = json.load(file)['access_token']
file.close()
except:
Token = GetTokenFromServer(Corpid, Secret)
# 發(fā)送消息
Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token
Data = {
"toparty": Partyid,
"msgtype": "text",
"agentid": Agentid,
"text": {"content": Subject + '\n' + Content},
"safe": "0"
}
r = requests.post(url=Url, data=json.dumps(Data), verify=False)
# 如果發(fā)送失敗,將重試三次
n = 1
while r.json()['errcode'] != 0 and n < 4:
n = n + 1
Token = GetTokenFromServer(Corpid, Secret)
if Token:
Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token
r = requests.post(url=Url, data=json.dumps(Data), verify=False)
print(r.json())
return r.json()
if __name__ == '__main__':
# 部門(mén)id
Partyid = '20'
# 消息標(biāo)題
Subject = '自應(yīng)用程序代碼測(cè)試'
# 消息內(nèi)容
Content = 'str(sys.argv[3])'
Status = SendMessage(Partyid, Subject, Content)
print(Status)
需要修改的地方,其中Corpid,Secret,Agentid我會(huì)在后面的截圖指出來(lái)要填的值。
下行是linux環(huán)境下python3的可執(zhí)行路徑,如果是windows,那么這行就不需要,只要將python的路徑加入到path即可
#!/root/.virtualenvs/wechat/bin/python
# Corpid是企業(yè)ID
Corpid = "ww34d7fed41a8d5dxx"
# Secret是管理組憑證密鑰
Secret = "8QwzOi0xCvbp1ZnCbnQJ1d6uEIv-Lrbcjp93UrHFxxx"
# Agentid是應(yīng)用ID
Agentid = "1000002"
# Token_config里面存放token信息,這個(gè)自己隨便填就行,只要自己有寫(xiě)的權(quán)限
Token_config = r'/tmp/zabbix_wechat_config.json'
三、企業(yè)微信設(shè)置
1. 注冊(cè)企業(yè)微信

2. 點(diǎn)擊進(jìn)入管理后臺(tái)
創(chuàng)建應(yīng)用


3. 創(chuàng)建應(yīng)用完成后
Agentid,Secret就出來(lái)了

4. 查看企業(yè)id
這個(gè)就是腳本中的Corpid

5. 查看部門(mén)id

我這個(gè)python腳本是通過(guò)部門(mén)id進(jìn)行群體發(fā)送,所以這個(gè)部門(mén)id到后面會(huì)有用。
四、測(cè)試腳本
直接運(yùn)行:python manage.py runserver

以上就是使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能的詳細(xì)內(nèi)容,更多關(guān)于Python企業(yè)微信發(fā)送消息的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實(shí)現(xiàn)操縱控制windows注冊(cè)表的方法分析
這篇文章主要介紹了Python實(shí)現(xiàn)操縱控制windows注冊(cè)表的方法,結(jié)合實(shí)例形式分析了Python使用_winreg模塊以及win32api模塊針對(duì)Windows注冊(cè)表操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05
python按修改時(shí)間順序排列文件的實(shí)例代碼
這篇文章主要介紹了python按修改時(shí)間順序排列文件的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07
用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實(shí)例
下面小編就為大家分享一篇用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想過(guò)來(lái)看看吧2017-12-12
Python函數(shù)之iterrows(),iteritems(),itertuples()的區(qū)別說(shuō)明
這篇文章主要介紹了Python函數(shù)之iterrows(),iteritems(),itertuples()的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
解決paramiko執(zhí)行命令超時(shí)的問(wèn)題
這篇文章主要介紹了解決paramiko執(zhí)行命令超時(shí)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
在Pycharm中安裝Pandas庫(kù)方法(簡(jiǎn)單易懂)
這篇文章主要介紹了在Pycharm中安裝Pandas庫(kù)方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02

