之前用了很多推送服务比如方糖或者微信公众号等,但是最近公司网络增加了诸多限制,都不能访问网络了。偶然发现公司使用了企业微信,所以在网络上开放了权限,那么公司内部的一些监控消息就可以通过企业微信去进行推送。
首先去访问企业微信官网api的信息推送api介绍.主要动作有两个部分获取token以及调用api推送消息
获取token 这里主要是要准备corpid以及corpsecret,需要管理员权限才能获得secret.
推送消息接口 使用post方法去传送data, 认证需要access_token。需要注意的是token是有有效期的。如果在有效期内不需要重新获取。
具体的实现方法
import requests,json from pprint import pprint #设置企业id以及secret ID='XXXX' SECRET='XXX' url=f'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={ID}&corpsecret={SECRET}' # 获取token res=requests.get(url=url) # json.loads将字符串转为json ACCESS_TOKEN=json.loads(res.text)['access_token'] #发送消息url newsurl=f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={ACCESS_TOKEN}" #可以推送到部门2 #可以获取人员id个人推送 间隔用 | #agentid为企业添加自定义应用 data={ "touser" : "userid", "toparty" : "", "totag" : "", "msgtype" : "text", "agentid" : 1000002, "text" : { "content" : "推送信息测试" }, "safe":0, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } # json.dumps将字典转为json res2=requests.post(url=newsurl,data=json.dumps(data)) print(res2.json()['errmsg'])
可以加强的部分
- 将token存储起来,不用每次重复获取
- 发送信息,可以设定参数,比如人员名单,信息类型
评论(0)