使用Python实现企业微信通知功能案例分析

作者:蚂蚁ailing 时间:2022-12-26 05:03:48 

前言

常见的通知方式有:邮件,电话,短信,微信。短信和电话:通常是收费的,较少使用;邮件:适合带文件类型的通知,较正

式,存档使用;微信:适合告警类型通知,较方便。这里说的微信,是企业微信。

本文目的:通过企业微信应用给企业成员发消息。

使用Python实现企业微信通知功能案例分析

如何实现企业微信通知?

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实现企业微信通知的小案例到这里就给大家做出来了,千言万语,都不如自己都手操作来得实际。

来源:https://www.cnblogs.com/123456feng/p/16149651.html

标签:Python企业微信,通知
0
投稿

猜你喜欢

  • 关于 Web 字体:现状与未来[译]

    2009-11-24 13:50:00
  • ASP写的汉字转换为UTF-8的一段代码

    2009-07-05 18:49:00
  • Python的信号库Blinker用法详解

    2021-06-23 23:23:19
  • innerHTML 的些摘记

    2009-06-01 15:42:00
  • 非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程

    2023-07-21 16:21:41
  • centos下yum搭建安装linux+apache+mysql+php环境教程

    2023-11-14 01:04:39
  • Oracle如何直接运行OS命令(上)第1/2页

    2010-07-30 12:54:00
  • Python 动态变量名定义与调用方法

    2023-07-29 22:36:05
  • 提高网页加载显示速度的方法

    2007-08-10 13:17:00
  • asp如何让计数器只对新进用户计数?

    2010-05-13 16:36:00
  • MySQL的数据库数据备份和恢复详解

    2012-01-29 18:19:07
  • python 实现目录复制的三种小结

    2023-09-01 12:17:20
  • SQL触发器在保持数据库完整性中的实际应用

    2009-10-23 14:34:00
  • ASP程序中调用函数Now()显示上午下午的问题

    2009-08-27 13:09:00
  • 为你的有序列表添加个性样式

    2009-02-23 13:12:00
  • W3C发布HTML 5草案 最终版将于2010年敲定

    2008-01-26 19:16:00
  • 直接生成XML的Google SiteMap的asp代码

    2007-08-17 13:44:00
  • 浅谈PHP中的Trait使用方法

    2023-11-08 09:25:33
  • “您无权查看该网页”的原因和解决方法

    2008-03-24 16:57:00
  • SQL查询重复记录

    2011-03-27 09:06:00
  • asp之家 网络编程 m.aspxhome.com