最近给公司测试组内部开发一个记帐小工具,当帐目出现问题的时候须要发送消息通知你们,前期主要采用的QQ发送通知消息,可是有一天忽然没法链接到QQ服务器,运维的同窗建议采用微信的方式对接而后进行告警,因此这里采用微信的企业号进行消息发送,微信企业号目前已经变动为企业微信,因此须要注册一个企业微信;python
1、获取企业微信接口文档,实现消息发送;redis
1.采用建立发送应用消息,企业微信接口文档:https://work.weixin.qq.com/api/doc#90000/90135/90664;json
企业微信提供了好几种发送消息的模式,主要应用支持推送文本、图片、视频、文件、图文等类型;c#
2.我这里主要做用是发送消息告诉想过成员,那么我这里只要发送文件消息便可,下面看下发送消息的接口定义api
三、根据接口定义获取咱们须要的相关信息,首先我须要获取access_token,咱们查看下获取access_token接口文档缓存
根据接口文档,获取access_token值,咱们须要获取Corpid和SECRECT这两个参数,发送消息咱们须要知道关键参数agentid,toparty;服务器
2、获取相应的参数,为接口请求创造条件微信
1.注册成功之后须要咱们建立一个应用;运维
2. 应用建立成功,咱们须要配置可见范围,配置这里主要为了后期发送消息,能够指定用户组,这里有几个字段很关键,Agentid,Secret;工具
3.获取企业微信corpid值
3、获取相应参数之后经过python 实现自动发送消息
# 获取微信access_token def get_token(): payload_access_token = {'corpid': 'wwfcdce534bxxxxx', 'corpsecret': '-hpCA42o4cm1DzgSfS23XtEZ93ZI3VNwDgcP-xxxxxUd4X6Q'} token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken' r = requests.get(token_url, params=payload_access_token) dict_result = (r.json()) return dict_result['access_token'] def send_message(): url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % get_token() data = {"toparty": 1, "msgtype": "text", "agentid": xxxxx, "text": {"content": "提现成功"}, "safe": 0} data = json.dumps(data, ensure_ascii=False) r = requests.post(url=url, data=data.encode("utf-8").decode("latin1")) return r.json() if __name__ == '__main__': send_message()
这样咱们就能够将消息发送至对应的用户组,这里须要注意access_token 的有效期7200s,并且接口的请求次数有限制,因此咱们须要对返回的token值进行缓存,能够存储在redis或者MySQL,过时之后进行重复获取;
4、微信接收企业微信的消息;
通常状况接收企业微信须要安装企业微信单独的程序,这样显示的很不方便,因此须要关系下我的微信;
经过链接微信->微信工做台->邀请关注 下载对应的二维码便可,我的微信关注之后就能够直接接收消息,其实这个过程跟不关注公众号同样;