使用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 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
在Python中实现贪婪排名算法的教程
Apr 17 Python
python插入数据到列表的方法
Apr 30 Python
django Admin文档生成器使用详解
Jul 22 Python
python如何实现从视频中提取每秒图片
Oct 22 Python
Python编写打字训练小程序
Sep 26 Python
基于python-pptx库中文文档及使用详解
Feb 14 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 Python
基于python代码批量处理图片resize
Jun 04 Python
为什么是 Python -m
Jun 19 Python
python redis存入字典序列化存储教程
Jul 16 Python
tensorboard 可视化之localhost:6006不显示的解决方案
May 22 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与javascript对多项选择的处理
2006/10/09 PHP
PHP中的日期处理方法集锦
2007/01/02 PHP
PHP分页显示制作详细讲解
2008/11/19 PHP
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
2013/08/13 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
[03:27]《辉夜杯》线下训练营 导师CU和海涛指点迷津
2015/10/23 DOTA
python实现读取并显示图片的两种方法
2017/01/13 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
python无限生成不重复(字母,数字,字符)组合的方法
2018/12/04 Python
Python中six模块基础用法
2019/12/08 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
django中cookiecutter的使用教程
2020/12/03 Python
python re模块常见用法例举
2021/03/01 Python
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
大学生毕业自我鉴定范文
2013/09/19 职场文书
英语系本科生个人求职信
2013/09/21 职场文书
酒吧创业计划书
2014/01/18 职场文书
管理部副部长岗位职责范文
2014/03/09 职场文书
车间核算员岗位职责
2014/07/01 职场文书
出售房屋委托书范本
2014/09/24 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
python tkinter实现定时关机
2021/04/21 Python
原生JS封装vue Tab切换效果
2021/04/28 Vue.js
Java 超详细讲解数据结构中的堆的应用
2022/04/02 Java/Android