python调用企业微信接口发送报警信息

在运维的日常工作中常常需要同监控打交道,而监控中最常用的功能介绍报警,最简单的方式就是使用邮件进行报警,但是邮件报警不是特别及时(像我这种一天都不怎么看邮件的估计得等服务挂了才知道),所以我们需要一种及时通信工具进行报警,常见的有短信,微信公众号,QQ公众号等,但是这三种方式在报警及时的同时也会在一定程度上打扰到我们的生活,那么有没有一种既能及时传递信息又能不打扰到我们日常的生活的那??
 
腾讯在微信之外还推出了一款类似于微信的应用,即使企业微信。企业微信一般只用于办公所有不同可能会影响我们的日常生活而且又能及时报警。
 
企业微信官网:https://work.weixin.qq.com/
 
 
企业微信登录管理员后台的页面
 

 
 
 
 
点击 "我的企业" 获取企业 ID (等一下代码中会用到)
 

 
 
 
 
点击 "应用与小程序" 创建应用 (报警信息将发送到应用中)
 

 
 
 
 
根据要求填写应用信息创建应用
 

 
 
 
 
获取 Agentid 和 Secret (等一下代码中会用到)
 

代码实现:

import json
import requests

class WeChat(object):
    def __init__(self, corpid, secret, agentid, msg):
        self.url = "https://qyapi.weixin.qq.com"
        self.corpid = corpid
        self.secret = secret
        self.agentid = agentid
        self.msg = msg

    # 获取企业微信的 access_token
    def access_token(self):
        url_arg = ‘/cgi-bin/gettoken?corpid={id}&corpsecret={crt}‘.format(id=self.corpid, crt=self.secret)
        url = self.url + url_arg
        response = requests.get(url=url)
        text = response.text
        self.token = json.loads(text)[‘access_token‘]

    # 构建消息格式
    def messages(self):
        values = {
            "touser": ‘@all‘,
            "msgtype": ‘text‘,
            "agentid": self.agentid,
            "text": {‘content‘: self.msg},
            "safe": 0
        }
        self.msg = (bytes(json.dumps(values), ‘utf-8‘))

    # 发送信息
    def send_message(self):
        self.access_token()
        self.messages()

        send_url = ‘{url}/cgi-bin/message/send?access_token={token}‘.format(url=self.url, token=self.token)
        response = requests.post(url=send_url, data=self.msg)
        errcode = json.loads(response.text)[‘errcode‘]

        if errcode == 0:
            print(‘Succesfully‘)
        else:
            print(‘Failed‘)

具体参数意义查看:  https://open.work.weixin.qq.com/api/doc#10167

原文地址:http://blog.51cto.com/hongchen99/2298896

时间: 2024-10-16 17:49:34

python调用企业微信接口发送报警信息的相关文章

python调用企业微信接口发送群聊消息代码参考

# Author: sea 2019 import requestsimport jsonimport time class WebchatUtil: corpid = '必须填写你自己申请的' secret = '固定填写你自己申请的' access_token = '' @staticmethod def init_access_token(): # 获取token,必须最长两个小时换一次7200秒 url = 'https://qyapi.weixin.qq.com/cgi-bin/get

Go调用企业微信API发送自定义信息

使用方法 # 编译成可执行文件之后,直接用命令调用传递内容即可 编译:go build send_message.go 使用: ./send_message "这是一条测试消息\n测试回车" 代码 package main import ( "bytes" "github.com/json-iterator/go" "io/ioutil" "net/http" "os" "st

资深程序员教你用Python如何调企业微信接口发送消息!叼的不行!

进入正题 先来几张好玩的图片 首先进入python交互界面,导入我自己写的模块,然后发一个测试消 息,"Hello,小伙伴们好!",然后看看企业号能否收到相应的消息. 那么问题来了,既然可以这么玩,那岂不可以把所有能通知的信息都可以通过python调用接口发送信息了?那当然了,可以把自己感兴趣的用爬虫爬下来,然后发给自己,也可以用于报警等信息,还可以......就看你自己怎么玩吧 上图第一行嘛,就是python解释器的绝对路径,也就是你python的安装路径,自行修改即可.第二行申明编

shell和Python调用企业微信服务号进行报警

#!/bin/bash corpid="wxd6b3" corpsecret="aJTaPaGjW" access_token=`curl -s  "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&corpsecret=$corpsecret" |jq '.access_token' | awk -F'"' '{print $2}'` curl -l -H 

python调用企业微信API

#!/usr/bin/env python # -*- coding:utf-8 -*- # 2017-07-25 编写 import json import sys import urllib, urllib2 """ CorpID 企业ID Secret 应用密钥 """ CorpID  = '' Secret  = '' touser  = '@all' content = '' #获取access_token def getToken(C

python利用企业微信api来进行发送自定义报警的类实现

python利用企业微信api来进行发送自定义报警的类实现 企业微信注册 打开http://work.weixin.qq.com/企业微信主页: 点击企业注册: 填写相关信息,营业执照和注册号可以不用填,直接下一步,按照提示操作即可: 注册完成后,登陆,就显示如下界面: 点击我的企业标签: 看到如上界面,复制CorpID对应的值: 点击企业应用: 点击 创建应用: 填写对应内容,点击创建应用即可: 然后再点击企业应用,就可以在自建应用里看到自己创建的应用: 点击应用图标,看到如下图 复制Agen

Python实现通过微信企业号发送文本消息的Class

前文<Python实现获取微信企业号access_token的Class>提供了获取微信企业号的access_token,本文中的代码做实际发送文本消息. 编程要点和调用方法: 支持发送中文,核心语句"payload = json.dumps(self.data, encoding='utf-8', ensure_ascii=False)",关键字"python json 中文" 这个Class只有一个公共方法send(). 使用方法:import这个c

Fundebug支持企业微信配置机器人报警

摘要: 为了帮助客户方便.及时地发现问题,Fundebug 支持企业微信报警了! Fundebug是全栈 JavaScript 错误监控平台,支持前端 JavaScript, 后端 Node.js 以及微信小程序等应用监控. 如果配置了企业微信机器人,一旦应用出现错误,Fundebug 会及时发送报警信息到企业微信群.如下图所示: 如何添加企业微信机器人? 在项目设置页面,切换到报警方式选项卡,在第三方报警中即可添加企业微信报警. 具体细节请参考接入文档:企业微信报警接入文档. 感谢客户大大桐乡

深入学习python (七) 如何用python调用C/C++接口

python这门优美而以人为本的语言的人性化导致其开发效率的高,高的同时他牺牲了的程序运行效率,在项目开发的后期,可以通过对某些耗时的松耦合的单独的瓶颈模块进行C++重构,然后直接用python改调用C++写的模块即可. 看过了网上的一些例子,自己也来试一试: 首先是一个C++程序的代码,test.cpp如下: #include <iostream> char const* hello() { return "hello, world"; } void bye() { us