前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python利用微信企业号发送报警信息

使用Python利用微信企业号发送报警信息

作者头像
bsbforever
发布2020-08-19 14:46:21
1.1K0
发布2020-08-19 14:46:21
举报
文章被收录于专栏:时悦的学习笔记

关于监控的报警一般我们需要做到多样性,防止单点故障,一般有:

  • 邮件报警发送至内部邮箱
  • 邮件报警发送至外部邮箱
  • 短信报警–需要短信猫
  • 微信企业号报警

今天我们来说下使用微信企业号进行报警

开发环境

操作系统:CentOS 7.4

Python版本 :3.6

模块:json,requests

1. 微信企业号设置

1.1 企业号注册

微信企业号注册是免费的而且无需企业认证,大家放心使用

注册地址:

https://mp.weixin.qq.com/

点击企业微信并填写信息

1.2 企业号设置

注册好之后我们邀请一些同事进来后进行设置,以便于我们更好的利用

通讯录设置

这里点击标签详情可以看到标签的ID号,后面程序会用的

增加应用

微信企业号发送信息需要创建一个应用,我们这里创建一个服务器报警的应用

接下来设置应用的可见范围,指的是这个应用可以发送的范围

这里我们选择最上层,即公司的名称

这里请记住AgentId和Secret

2. 使用微信企业号发送信息

调试工具及API文档

http://qydev.weixin.qq.com/debug

https://work.weixin.qq.com/api/doc

2.1 发送信息文档

需要安装request模块

代码语言:javascript
复制
pip3 install requests

我们根据下面的文档进行发送信息

https://work.weixin.qq.com/api/doc#10167

2.2 获取Token

根据上面的文档需要首先获取Token

代码语言:javascript
复制
def GetToken():
    Corpid='ww3083060923921313121'                                                                                # 企业ID
    CorpSecret='5_vWbwROiUQJkc2wBEPxkO0slPe2NsJ_qpvx2bW_M'                                                        #企业号应用的Secret值
    gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + Corpid + '&corpsecret=' + CorpSecret  
    #print  (gettoken_url)
    try:
        token_file =requests.get(gettoken_url)
    except Exception as e:
        print (e)
    token_data = token_file.text
    token_json = json.loads(token_data)
    token_json.keys()
    token = token_json['access_token']
    return token

CorpId 在我的企业中可以看到

CorpSecret为上面应用设置中的Secret值

2.3 发送信息至指定人员

代码语言:javascript
复制
def Send_Message(Token,Tag,Subject,Content):

    post_data={
       'touser' : '',                         #通讯录用户ID
       'toparty' :'',                         #通讯录组ID
       'totag' : Tag,                         #通讯录标签ID
       'msgtype' : 'text',
       'agentid' : 1000002,                   #企业号应用的agentid
       'text' : {
           'content' : Subject+'\n'+Content
       },
       'safe':0
    }

    #print (post_data)
    post_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='+Token
    #json_post_data = json.dumps(post_data,False,False)

    try:
        r =requests.post(post_url,data=json.dumps(post_data))
       # request_post = urllib.request.urlopen(post_url,json_post_data.encode(encoding='UTF8'))
    except Exception as e:
        print (e)
    #print (request_post.text)

微信企业号发送信息的对象支持三种方式:

  • 人员名称
  • 人员群组
  • 人员标签

以上三种只要有一种是正确的则可以发送成功

这里我们为了方便管理,使用标签进行发送,多个ID用|分开

这个函数的参数介绍如下:

  • Token: 上面GetToken函数获取到的值
  • Tag: 我们设置的Tag的 ID号,号码可通过上面通讯录管理看到
  • agentid: 我们应用的ID号,上面应用设置中的AgentId值
  • Subject和Content 分别为主题和内容

这里我们就可以通过微信企业号发送信息了,同时它还支持图片链接等,大家可以根据API文档自行修改

源代码位置

欢迎访问我的github

https://github.com/bsbforever/maintence/blob/master/wechat_alert.py

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅必备 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 微信企业号设置
    • 1.1 企业号注册
      • 1.2 企业号设置
      • 2. 使用微信企业号发送信息
        • 2.1 发送信息文档
          • 2.2 获取Token
            • 2.3 发送信息至指定人员
            • 源代码位置
            相关产品与服务
            短信
            腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档