溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用Python發(fā)送企業(yè)微信消息

發(fā)布時間:2020-07-03 04:10:28 來源:網(wǎng)絡(luò) 閱讀:1409 作者:貓貓maomao 欄目:移動開發(fā)

準(zhǔn)備工作:

??? 到企業(yè)微信官網(wǎng),注冊一個企業(yè);登錄企業(yè)微信后臺,創(chuàng)建一個“自建”應(yīng)用, 獲取企業(yè)ID、agentidsecret3個必要的參數(shù);在企業(yè)微信的通訊錄中,創(chuàng)建多個測試賬號;在手機(jī)端安裝“企業(yè)微信”APP,使用測試賬號登錄到企業(yè)微信,準(zhǔn)備接收消息。

?

程序代碼

??? 企業(yè)微信提供API開發(fā)接口,通過HTTPSGETPOST方法與企業(yè)微信后臺進(jìn)行交互,完成獲取令牌、發(fā)送數(shù)據(jù)、獲取數(shù)據(jù)的操作。

??? Python代碼主要使用requests庫,將企業(yè)微信API進(jìn)行簡單封裝,模擬httpsGET、POST操作,向指定的用戶發(fā)送企業(yè)微信消息。

#!/usr/bin/env?python
#?-*-?coding:?utf-8?-*-

import?time
import?requests
import?json


class?WeChat:
????def?__init__(self):
????????self.CORPID?=?'ww2e1234567895498f5498f'??#企業(yè)ID,在管理后臺獲取
????????self.CORPSECRET?=?'xy11234567898hk_ecJ123456789DhKy4_1y12345OI'#自建應(yīng)用的Secret,每個自建應(yīng)用里都有單獨的secret
????????self.AGENTID?=?'1000002'??#應(yīng)用ID,在后臺應(yīng)用中獲取
????????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()???#當(dāng)返回的數(shù)據(jù)是json串的時候直接用.json即可將respone轉(zhuǎn)換成字典
????????return?respone["errmsg"]


if?__name__?==?'__main__':
????wx?=?WeChat()
????wx.send_data("這是程序發(fā)送的第1條消息!\n?Python程序調(diào)用企業(yè)微信API,從自建應(yīng)用“告警測試應(yīng)用”發(fā)送給管理員的消息!")
????wx.send_data("這是程序發(fā)送的第2條消息!")

?

?

運行截圖:

??使用Python發(fā)送企業(yè)微信消息使用Python發(fā)送企業(yè)微信消息

?使用Python發(fā)送企業(yè)微信消息

?使用Python發(fā)送企業(yè)微信消息

?

參考鏈接:

python實現(xiàn)通過企業(yè)微信發(fā)送消息

https://www.cnblogs.com/bluezms/p/8948187.html

?

python腳本--用企業(yè)微信實現(xiàn)發(fā)送信息

https://blog.csdn.net/liyyzz33/article/details/86080936

?

企業(yè)微信后臺管理:

https://work.weixin.qq.com/

?

企業(yè)微信API文檔:

https://work.weixin.qq.com/api/doc#90000/90003/90487


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI