网易有数支持通过webhook推送信息到企业微信。

为完成此功能,需要:
1.在企业微信群,群主选中以后右键可以添加一个群机器人,并获取其webhook地址,企业微信
webhook功能说明可参考 https://work.weixin.qq.com/api/doc/90000/90136/91770
2.需要启动一个服务程序,此服务服务程序接受有数传来的信息,并且在加工后发送到群机器人的webhook地址上。本程序即实现此服务程序的功能。
3.若要使用本程序,需要具备几个条件:①本程序的网络与有数服务器互通 ②本程序的网络运行在公网上以便访问企业微信机器人
4.运行本程序服务后,将服务地址配置到网易有数/项目中心/Webhook配置
( 填写方式:名称:随意;
URL:本服务地址(公网地址);
secret:保留空[也可在本程序基础上进一步开发secret进行校验];
订阅事件:度量预警[本程序未实现报告订阅和取数订阅,可以参考企业微信开发手
册接受图片即可订阅报告和取数];
自定义参数:{"robot":"此处填入群聊机器人的webhook地址"},示例 {"robot":"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ba6504c7-c556-40f4-94dd-616d5bc380ac"})
5.对应网易有数私有版本lts6.2及以上
6.@author wenxiaobu 2020.7.1 v1.0

# coding: UTF-8 
# !/usr/bin/python
# @function :service of flask
import json
import requests
#引入flask框架
from flask import Flask, request, jsonify

app = Flask(__name__)


headers = {
	"Content-Type": "application/json",
}
#发送到微信机器人
def sub_message(j_data):
	#从有数发送参数截取企业微信机器人的webhook地址
	url = j_data['custom']['robot']
	#从有数发送参数截取预警概要
	messages = j_data['data']['abstractDesc']
	#从有数发送参数截取接收人,此参数包含账号名称、邮箱、手机号,一般建议使用手机号方便群里@他人,可以用正则表达式切取phone
	recive_list = j_data['receiverList']
	#组装为微信机器人的信息报文
	data = {
    	"msgtype": "text",
    	"text": {
    	"content": messages ,
    	"mentioned_mobile_list":["18815286511"]    
	}}
	#将报文转为requests.post可以识别的格式
	jdata=json.dumps(data)
	#发送post请求
	requests.post(url, jdata, headers) 

#启动一个服务,接收有数的预警数据包,接收POST/GET两种请求    
@app.route('/youdata', methods=["POST","GET"])
def youdata():
	#解析请求
	p = request.form if request.form else request.json
	#转换成可识别格式
	params = json.dumps(p)
	#防止空请求
	if params!="null":
    	#发送到群机器人
    	sub_message(p) 
    	#返回code=0,msg=OK表示接收成功,有数那边才不会报错
    	return jsonify(code=0,
                    	msg="ok")
	else:
    	#同理,即便空请求也表示发送成功,以免有数预警报错
    	return jsonify(code=0,
                    	msg="ok")

#主程序启动一个服务
if __name__ == '__main__':
	app.run(host='0.0.0.0',
        	threaded=True,
        	debug=False ,
        	port=8001)