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

 更新时间:2021年12月30日 16:08:06   作者:Jason_WangYing  
本文将介绍如何使用python3给企业微信发送消息,文中有详细的图文解说及代码示例,对正在学习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/

2. 点击进入管理后台

创建应用

3. 创建应用完成后

Agentid,Secret就出来了

4. 查看企业id

这个就是脚本中的Corpid

5. 查看部门id

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

四、测试脚本

直接运行:python manage.py runserver

以上就是使用Python实现给企业微信发送消息功能的详细内容,更多关于Python企业微信发送消息的资料请关注脚本之家其它相关文章!

相关文章

  • python实现键盘输入的实操方法

    python实现键盘输入的实操方法

    在本篇文章里小编给各位分享了关于python怎么实现键盘输入的图文步骤以及相关知识点内容,需要的朋友们参考下。
    2019-07-07
  • 分享一下如何编写高效且优雅的 Python 代码

    分享一下如何编写高效且优雅的 Python 代码

    这篇文章主要介绍了分享一下如何编写高效且优雅的 Python 代码,需要的朋友可以参考下
    2017-09-09
  • 关于Python如何避免循环导入问题详解

    关于Python如何避免循环导入问题详解

    在大型的Python工程中,由于架构设计不当,可能会出现模块间相互引用的情况。下面这篇文章主要给大家介绍了关于如何避免Python的循环导入问题的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • Python通过pytesseract库实现识别图片中的文字

    Python通过pytesseract库实现识别图片中的文字

    Pytesseract是一个Python的OCR库,它可以识别图片中的文本并将其转换成文本形式。本文就来用pytesseract库实现识别图片中的文字,感兴趣的可以了解一下
    2023-05-05
  • Python利用Seaborn绘制多标签的混淆矩阵

    Python利用Seaborn绘制多标签的混淆矩阵

    混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。本文将利用Seaborn绘制多标签的混淆矩阵,感兴趣的可以学习一下
    2022-07-07
  • Python标准库之os模块详解

    Python标准库之os模块详解

    Python的os模块是用于与操作系统进行交互的模块,它提供了许多函数和方法来执行文件和目录操作、进程管理、环境变量访问等,本文详细介绍了Python标准库中os模块,感兴趣的同学跟着小编一起来看看吧
    2023-08-08
  • 详解flask入门模板引擎

    详解flask入门模板引擎

    这篇文章主要介绍了详解flask入门模板引擎,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • python正则过滤字母、中文、数字及特殊字符方法详解

    python正则过滤字母、中文、数字及特殊字符方法详解

    这篇文章主要介绍了python正则过滤字母、数字及特殊字符方法详解,需要的朋友可以参考下
    2020-02-02
  • python读取目录下最新的文件夹方法

    python读取目录下最新的文件夹方法

    今天小编就为大家分享一篇python读取目录下最新的文件夹方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python的math模块中的常用数学函数整理

    Python的math模块中的常用数学函数整理

    这篇文章主要介绍了Python的math模块中的常用数学函数整理,同时对运算符的运算优先级作了一个罗列,需要的朋友可以参考下
    2016-02-02

最新评论