使用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之玩转字符串(1)
Sep 14 Python
用Python实现服务器中只重载被修改的进程的方法
Apr 30 Python
Python3实现Web网页图片下载
Jan 28 Python
详解python中字典的循环遍历的两种方式
Feb 07 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
Apr 18 Python
python 实现读取一个excel多个sheet表并合并的方法
Feb 12 Python
python list多级排序知识点总结
Oct 23 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 Python
python3中sorted函数里cmp参数改变详解
Mar 12 Python
python递归函数用法详解
Oct 26 Python
python3实现简单飞机大战
Nov 29 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 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 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
php xml-rpc远程调用
2008/12/19 PHP
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
js比较日期大小的方法
2015/05/12 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
2015/12/08 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
python中self原理实例分析
2015/04/30 Python
python通过socket查询whois的方法
2015/07/18 Python
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
使用Python函数进行模块化的实现
2019/11/15 Python
Python实现点云投影到平面显示
2020/01/18 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
耐克中国官方商城:Nike中国
2018/10/18 全球购物
英国羊绒服装购物网站:Pure Collection
2018/10/22 全球购物
法雷奥SQA(electric)面试问题
2016/01/23 面试题
市场营销毕业生自荐信范文
2014/04/01 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
2015年采购部工作总结
2015/04/23 职场文书
2016七夕情人节感言
2015/12/09 职场文书
《火烧云》教学反思
2016/02/23 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
python not运算符的实例用法
2021/06/30 Python