cat /usr/local/zabbix/share/zabbix/alertscripts/sed_messages_weixin.py python2.x#!/usr/bin/env python # _*_ coding: utf-8 _*_ # author:chenjianwen # email:[email protected] import sys import urllib2 import json import requests corpid = ‘xxxx‘ #企业微信号id corpsecret = ‘xxxx‘ ##应用secret get_access_token_url = ‘https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s‘%(corpid,corpsecret) def get_access_token(get_access_token_url): data = urllib2.urlopen(get_access_token_url).read().decode(‘utf-8‘) data = json.loads(data) #print data["access_token"] return data["access_token"] def send_messages(touser,access_token,content): send_messages_url = ‘https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s‘%access_token data = { "touser" : touser, #成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向该企业应用的全部成员发送 "toparty" : "4", ##部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数 "totag" : "", #标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数 "msgtype" : "text", #消息类型,此时固定为:text "agentid" : 1000004, #企业应用的id,整型。可在应用的设置页面查看 "text" : { "content" : content #消息内容,最长不超过2048个字节 }, "safe":0 #表示是否是保密消息,0表示否,1表示是,默认0 } value = json.dumps(data) ##转换为str格式 request = requests.post(send_messages_url, data=value) ##post请求发送数据 request_result = request.status_code ##获取请求码 if request_result == 200: print "【%s】消息发送成功"%content else: print "【%s】消息发送失败"%content if __name__ == ‘__main__‘: access_token = get_access_token(get_access_token_url) send_messages(sys.argv[1],access_token,sys.argv[3])
原文地址:https://www.cnblogs.com/chenjw-note/p/10936411.html
时间: 2024-10-16 19:05:44