使用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打开网页和暂停实例
Sep 30 Python
web.py 十分钟创建简易博客实现代码
Apr 22 Python
深入理解python中的闭包和装饰器
Jun 12 Python
对python判断ip是否可达的实例详解
Jan 31 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
如何运行带参数的python脚本
Nov 15 Python
使用python matplotlib 画图导入到word中如何保证分辨率
Apr 16 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
Jun 29 Python
关于Python3爬虫利器Appium的安装步骤
Jul 29 Python
Python爬虫爬取微信朋友圈
Aug 06 Python
django如何自定义manage.py管理命令
Apr 27 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文件上传的简单实例
2013/10/19 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
PHP命名空间用法实例分析
2019/09/04 PHP
php扩展开发入门demo示例
2019/09/23 PHP
借助script进行Http跨域请求:JSONP实现原理及代码
2013/03/19 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
tween.js缓动补间动画算法示例
2018/02/13 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
Python 除法小技巧
2008/09/06 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
详解python:time模块用法
2019/03/25 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
Python中socket网络通信是干嘛的
2020/05/27 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
地球鞋加拿大官网:Earth Shoes Canada
2020/11/17 全球购物
高中毕业自我鉴定
2013/12/16 职场文书
高中数学教学反思
2014/01/30 职场文书
简历自我评价模版
2014/01/31 职场文书
花店创业计划书范文
2014/02/07 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
创先争优个人总结
2015/03/04 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python