使用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进程管理工具supervisor的安装与使用教程
Sep 05 Python
Python实现动态图解析、合成与倒放
Jan 18 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
Python实现计算文件MD5和SHA1的方法示例
Jun 11 Python
解决Django一个表单对应多个按钮的问题
Jul 18 Python
PyQt5使用QTimer实现电子时钟
Jul 29 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
Python闭包与装饰器原理及实例解析
Apr 30 Python
python 识别登录验证码图片功能的实现代码(完整代码)
Jul 03 Python
Python 多进程原理及实现
Dec 21 Python
windows安装python超详细图文教程
May 21 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
Apr 21 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应用技巧
2008/03/27 PHP
php cache类代码(php数据缓存类)
2010/04/15 PHP
Javascript UrlDecode函数代码
2010/01/09 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
JS如何设置元素样式的方法示例
2017/08/28 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
vue页面更新patch的实现示例
2020/03/25 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
python mysqldb连接数据库
2009/03/16 Python
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
全面了解python中的类,对象,方法,属性
2016/09/11 Python
Python模块的加载讲解
2019/01/15 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
建筑实习自我鉴定
2013/10/18 职场文书
大学生优秀班干部事迹材料
2014/05/26 职场文书
小学教师个人总结
2015/02/05 职场文书
聚会通知怎么写
2015/04/23 职场文书
秋收起义观后感
2015/06/11 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
导游词之张家口
2019/12/13 职场文书
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL