使用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 相关文章推荐
Linux下用Python脚本监控目录变化代码分享
May 21 Python
简单的Apache+FastCGI+Django配置指南
Jul 22 Python
在Django同1个页面中的多表单处理详解
Jan 25 Python
深入理解python中的atexit模块
Mar 07 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
Aug 31 Python
Django ORM框架的定时任务如何使用详解
Oct 19 Python
Python编写合并字典并实现敏感目录的小脚本
Feb 26 Python
详解python之heapq模块及排序操作
Apr 04 Python
django创建简单的页面响应实例教程
Sep 06 Python
python scrapy重复执行实现代码详解
Dec 28 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
May 16 Python
python 将html转换为pdf的几种方法
Dec 29 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生成html分页列表的代码
2007/03/18 PHP
PHP中uploaded_files函数使用方法详解
2011/03/09 PHP
php正则表达式(regar expression)
2011/09/10 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
javascript 操作文件 实现方法小结
2009/07/02 Javascript
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
2015/08/06 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
javascript  数组排序与对象排序的实例
2017/07/17 Javascript
js实现时钟定时器
2020/03/26 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
Python logging模块用法示例
2018/08/28 Python
浅析PEP572: 海象运算符
2019/10/15 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
倩碧美国官网:Clinique美国
2016/07/20 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
枚举和一组预处理的#define有什么不同
2016/09/21 面试题
业务部经理岗位职责
2014/01/04 职场文书
同学会邀请书大全
2014/01/12 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
入党函调证明材料
2014/12/24 职场文书
纪检干部学习心得体会
2016/01/23 职场文书