shell或python调用企业微信发送消息(实现报警功能),,shell或pyth


shell或python调用企业微信发送消息(实现报警功能)

官方文档

企业内部开发
简易教程:https://work.weixin.qq.com/api/doc#90000/90003/90487
服务端API:https://work.weixin.qq.com/api/doc#90000/90135/90664

注册登陆企业微信

登录企业微信管理端 -> 应用与小程序 -> 应用 -> 自建,点击“创建应用”,设置应用log、应用名称等信息,创建应用。
创建完成后,在管理端的应用列表里进入该应用,可以看到agentid、secret等信息,这些信息在使用企业微信API时会用到。
创建完成后,该应用会自动出现在可见范围内的成员的企业微信终端上(包括手机端、pc端、微工作台)

shell脚本

#!/bin/bash# shell调用企业微信发送消息命令# ./weixin.sh ${人员} "消息"# 例:# ./weixin.sh @all "hello!"# ./weixin.sh maYun "hello!"# 注:# 消息中可以使用"\n"表示换行;# 消息中不可以使用空格;# 微信接口参数# 根据自己申请的企业微信上接口参数调整;corpid=‘XXXXXXXXXXXXXXXXXX‘appsecret=‘XXXXXXXXXXXXXXXXXX‘agentid=XXXXXXX#获取accesstokenaccesstoken=$(/usr/bin/curl https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=${corpid}\&corpsecret=${appsecret} | jq -r ‘.access_token‘)#发送消息msgsend_url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${accesstoken}"json_params="{\"touser\":\"${1}\",\"msgtype\":\"text\",\"agentid\":\"${agentid}\",\"text\":{\"content\":\"${2}\"},\"safe\":\"0\"}"echo -e "\n${json_params}"#/usr/bin/curl -X POST ${msgsend_url} -d ${json_params} | jq -r ‘.errcode‘/usr/bin/curl -X POST ${msgsend_url} -d ${json_params}

python脚本

#!/usr/bin/env python3#-*- coding: utf-8 -*-# python调用企业微信发送消息命令# 发送消息命令# python weixin.py ${人员} 主题 正文# 例如:# python3 weixin.py maYun a b# ./weixin.py maYun n m# 说明;当一个变量含有多个值或者含有空格、回车符号时,可以使用双引号。#       当通知所有用户时可以把用户参数设置成"@all"import requestsimport sysimport osimport jsonimport logging# 日志模块logging.basicConfig(level = logging.DEBUG, format = ‘%(asctime)s, %(filename)s, %(levelname)s, %(message)s‘,                datefmt = ‘%a, %d %b %Y %H:%M:%S‘,                filename = os.path.join(‘/tmp‘,‘weixin.log‘),                filemode = ‘a‘)# 微信接口参数# 根据自己申请的企业微信上接口参数调整;corpid=‘XXXXXXXXXXXXXXXXXX‘appsecret=‘XXXXXXXXXXXXXXXXXX‘agentid=XXXXXXX#获取accesstokentoken_url=‘https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=‘ + corpid + ‘&corpsecret=‘ + appsecretreq=requests.get(token_url)accesstoken=req.json()[‘access_token‘]#发送消息msgsend_url=‘https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=‘ + accesstokentouser=sys.argv[1]subject=sys.argv[2]#toparty=‘3|4|5|6‘message=sys.argv[2] + "\n\n" +sys.argv[3]params={        "touser": touser,#       "toparty": toparty,        "msgtype": "text",        "agentid": agentid,        "text": {                "content": message        },        "safe":0}req=requests.post(msgsend_url, data=json.dumps(params))# 写日志logging.info(‘sendto:‘ + touser + ‘;;subject:‘ + subject + ‘;;message:‘ + message)

shell或python调用企业微信发送消息(实现报警功能)

评论关闭