温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Python实现给企业微信发送消息功能

发布时间:2021-12-31 08:52:54 来源:亿速云 阅读:244 作者:柒染 栏目:开发技术

如何使用Python实现给企业微信发送消息功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

    一、概述

    下面将介绍如何使用python3给企业微信发送消息。我的环境是linux + python3.6.10。

    二、python脚本

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 2020/8/20 上午12:42
    # @Author  : wangying
    # @Site    : 
    # @File    : 企业微信.py
    # @Software: PyCharm
     
    #!/root/.virtualenvs/wechat/bin/python
    # usage: send message via wechat
     
    import requests, sys, json
    import urllib3
    urllib3.disable_warnings()
     
     
    ###填写参数###
     
    # Corpid是企业号的标识
    Corpid = "ww32a580fceb30f350"
     
    # Secret是管理组凭证密钥
    Secret = "QyBTbg1QL9lmNwaErqv1DMV0Y_G3lZre268E0hpTDqk"
     
    # 应用ID
    Agentid = "1000004"
     
    # token_config文件放置路径
    Token_config = r'/tmp/zabbix_wechat_config.json'
     
    ###下面的代码都不需要动###
     
     
    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):
        """发送消息"""
        # 获取token信息
        try:
            file = open(Token_config, 'r')
            Token = json.load(file)['access_token']
            file.close()
        except:
            Token = GetTokenFromServer(Corpid, Secret)
     
        # 发送消息
        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)
     
        # 如果发送失败,将重试三次
        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'
        # 消息标题
        Subject = '自应用程序代码测试'
        # 消息内容
        Content = 'str(sys.argv[3])'
        Status = SendMessage(Partyid, Subject, Content)
        print(Status)

    需要修改的地方,其中Corpid,Secret,Agentid我会在后面的截图指出来要填的值。

    下行是linux环境下python3的可执行路径,如果是windows,那么这行就不需要,只要将python的路径加入到path即可

    #!/root/.virtualenvs/wechat/bin/python

    # Corpid是企业ID

    Corpid = "ww34d7fed41a8d5dxx"

    # Secret是管理组凭证密钥

    Secret = "8QwzOi0xCvbp1ZnCbnQJ1d6uEIv-Lrbcjp93UrHFxxx"

    # Agentid是应用ID

    Agentid = "1000002"

    # Token_config里面存放token信息,这个自己随便填就行,只要自己有写的权限

    Token_config = r'/tmp/zabbix_wechat_config.json'

    三、企业微信设置

    1. 注册企业微信

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

    如何使用Python实现给企业微信发送消息功能

    2. 点击进入管理后台

    创建应用

    如何使用Python实现给企业微信发送消息功能

    如何使用Python实现给企业微信发送消息功能

    3. 创建应用完成后

    Agentid,Secret就出来了

    如何使用Python实现给企业微信发送消息功能

    4. 查看企业id

    这个就是脚本中的Corpid

    如何使用Python实现给企业微信发送消息功能

    5. 查看部门id

    如何使用Python实现给企业微信发送消息功能

    我这个python脚本是通过部门id进行群体发送,所以这个部门id到后面会有用。

    四、测试脚本

    直接运行:python manage.py runserver

    如何使用Python实现给企业微信发送消息功能

    关于如何使用Python实现给企业微信发送消息功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI