溫馨提示×

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

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

如何使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能

發(fā)布時(shí)間:2021-12-31 08:52:54 來源:億速云 閱讀:242 作者:柒染 欄目:開發(fā)技術(shù)

如何使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

    一、概述

    下面將介紹如何使用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()
     
     
    ###填寫參數(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__':
        # 部門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ì)在后面的截圖指出來要填的值。

    下行是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è)自己隨便填就行,只要自己有寫的權(quán)限

    Token_config = r'/tmp/zabbix_wechat_config.json'

    三、企業(yè)微信設(shè)置

    1. 注冊(cè)企業(yè)微信

    https://qy.weixin.qq.com/

    如何使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能

    2. 點(diǎn)擊進(jìn)入管理后臺(tái)

    創(chuàng)建應(yīng)用

    如何使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能

    如何使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能

    3. 創(chuàng)建應(yīng)用完成后

    Agentid,Secret就出來了

    如何使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能

    4. 查看企業(yè)id

    這個(gè)就是腳本中的Corpid

    如何使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能

    5. 查看部門id

    如何使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能

    我這個(gè)python腳本是通過部門id進(jìn)行群體發(fā)送,所以這個(gè)部門id到后面會(huì)有用。

    四、測(cè)試腳本

    直接運(yùn)行:python manage.py runserver

    如何使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能

    關(guān)于如何使用Python實(shí)現(xiàn)給企業(yè)微信發(fā)送消息功能問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

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

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

    AI