使用Python通过企业微信应用给企业成员发消息


Posted in Python onApril 18, 2022

前言

常见的通知方式有:邮件,电话,短信,微信。短信和电话:通常是收费的,较少使用;邮件:适合带文件类型的通知,较正

式,存档使用;微信:适合告警类型通知,较方便。这里说的微信,是企业微信。

本文目的:通过企业微信应用给企业成员发消息。

如何实现企业微信通知?

1、新建应用

登陆网页版企业微信 (https://work.weixin.qq.com),点击 应用管理 → 应用 → 创建应用

使用Python通过企业微信应用给企业成员发消息

上传应用的 logo,输入应用名称(债券打新),再选择可见范围,成功创建一个告警应用

使用Python通过企业微信应用给企业成员发消息

2、获取Secret

使用 Python 发送告警请求,其实就只使用到两个接口:

获取 Token :

https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpid}&corpsecret={secret}

发送请求:

https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}

可以看到,最重要的是 corpid 和 secret:

corpid:唯一标识你的企业

secret:应用级的密钥,有了它程序才知道你要发送该企业的哪个应用

corpid 可以通过 我的企业 → 企业信息 → 企业id 获取

使用Python通过企业微信应用给企业成员发消息

secret 可以通过 点击 新创建的应用(债券打新) → 查看 secret → 发送 来获取

使用Python通过企业微信应用给企业成员发消息

使用Python通过企业微信应用给企业成员发消息

最后将 corpid 和 secret 填入下面的常量中。

3、代码实现

import json
import time
import requests
'''
本文件主要实现通过企业微信应用给企业成员发消息

CORP_ID = "xxxx"
SECRET = "xxxx"

class WeChatPub:
    s = requests.session()

    def __init__(self):
        self.token = self.get_token()

    def get_token(self):
        url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={CORP_ID}&corpsecret={SECRET}"
        rep = self.s.get(url)
        if rep.status_code != 200:
            print("request failed.")
            return
        return json.loads(rep.content)['access_token']

    def send_msg(self, content):
        url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + self.token
        header = {
            "Content-Type": "application/json"
        }
        form_data = {
            "touser": "FengXianMei",#接收人
            "toparty": "1",#接收部门
            "totag": " TagID1 | TagID2 ",#通讯录标签id
            "msgtype": "textcard",
            "agentid": 1000002,#应用ID
            "textcard": {
                "title": "债券打新提醒",
                "description": content,
                "url": "URL",
                "btntxt": "更多"
            },
            "safe": 0
        rep = self.s.post(url, data=json.dumps(form_data).encode('utf-8'), headers=header)
        return json.loads(rep.content)

if __name__ == "__main__":
    wechat = WeChatPub()
    timenow = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
    wechat.send_msg(f"<div class=\"gray\">{timenow}</div> <div class=\"normal\">注意!</div><div class=\"highlight\">今日有新债,坚持打新!</div>")
    print('消息已发送!')

 

4、实现效果:

使用Python通过企业微信应用给企业成员发消息

使用Python通过企业微信应用给企业成员发消息

使用Python通过企业微信应用给企业成员发消息

结束

今天给大家分享的用Python实现企业微信通知的小案例到这里就给大家做出来了,千言万语,都不如自己都手操作来得实际。

到此这篇关于使用Python实现企业微信通知功能案例分析的文章就介绍到这了!

Python 相关文章推荐
python 正则式 概述及常用字符
May 07 Python
用python分割TXT文件成4K的TXT文件
May 23 Python
python 中文乱码问题深入分析
Mar 13 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
Python基于回溯法子集树模板解决数字组合问题实例
Sep 02 Python
Python快速排序算法实例分析
Nov 29 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
详解python中sort排序使用
Mar 23 Python
关于python多重赋值的小问题
Apr 17 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
May 13 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 #Python
python在package下继续嵌套一个package
Apr 14 #Python
Github 使用python对copilot做些简单使用测试
使用Python拟合函数曲线
Apr 14 #Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
python中 .npy文件的读写操作实例
Apr 14 #Python
Python Matplotlib绘制等高线图与渐变色扇形图
You might like
PHP 基本语法格式
2009/12/15 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
原生javascript实现图片轮播效果代码
2010/09/03 Javascript
javascript自然分类法算法实现代码
2013/10/11 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
使用JavaScript破解web
2018/09/28 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
Python与Java间Socket通信实例代码
2017/03/06 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
pytorch 实现cross entropy损失函数计算方式
2020/01/02 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
学校七一活动方案
2014/01/19 职场文书
商务英语广告词大全
2014/03/18 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
触电现场处置方案
2014/05/14 职场文书
2014年党支部承诺书
2014/05/30 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
股东授权委托书范文
2014/09/13 职场文书
致运动员赞词
2015/07/22 职场文书