第二十五章 Python3 使用企业微信 API 发送消息
2019-01-10 本文已影响24人
运维开发_西瓜甜
现在大部分情况下,企业里运维监控的系统都需要给运维人员发送一些报警之类的信息,之前都是发送邮件,目前有腾讯推出了企业微信,也开放了其 API 接口。我们可以利用其 API 接口来给企业微信第账号发送信息或接收账号发送的信息。
API(Application Programming Interface) 翻译过来就是 应用程序编程接口。
大白话就是服务器为客户端提供的有限的功能。
一个 API 的表现形式就是一个 网址,但是这个网址比较特殊,一般需要包含:
HTTP协议,HTPP请求的方法(GET/POST 等),域名,url,参数。
例如:url = https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET`
一、注册账号
![](https://img.haomeiwen.com/i11414906/5ebdc5043a41d174.png)
填写注册信息
- 企业名称自定义
- 行业类型自定义
- 人员规模根据自己公司的情况
- 管理员名称可以自定义
- 手机号需要填写真实的
- 需要使用管理员的微信扫码
![](https://img.haomeiwen.com/i11414906/db0b425128ae9b8f.png)
二、管理
扫描绑定成功后点击注册
![](https://img.haomeiwen.com/i11414906/5d10f67fa3cbbd38.png)
下面图片中的二维码可以扫码后下载企业微信 app
企业微信客户端也有 PC 端的
最后点击进入管理后台进行相关设置
![](https://img.haomeiwen.com/i11414906/51ef297f248c98c2.png)
在下图中可以邀请同时加入你的企业微信,成为其中的一员。这样就是可以和他实时沟通了,比如给他发通知等信息。
最后我们点击最上方标题栏的 应用与小程序
![](https://img.haomeiwen.com/i11414906/3e25577e26f41b00.png)
创建一个自定义应用
要想发送自定义的信息,我们需要创建一个自定义的应用。
![](https://img.haomeiwen.com/i11414906/d7b1ba74244030bb.png)
下图中为应用起个名字,写一些描述信息。
最主要的是需要选择哪些部门或成员让你可见,成员或部门在可见范围内,才可以收到这个应用发送的消息。
![](https://img.haomeiwen.com/i11414906/b5803620314dc6be.png)
在下方图片中,点击左侧的成员,将他们添加的右侧。
左侧的成员是你要求到的同事,并且需要同事同意邀请。
最后点击确认
。
![](https://img.haomeiwen.com/i11414906/8d53b4f6cd8ade32.png)
下方图片:
还必须给这个应用添加一个做为 logo
的图片
![](https://img.haomeiwen.com/i11414906/7402e2d89e2b5cc1.png)
三、准备发送消息的相关数据
记录下面图片中的应用 AgentId
和 Secret
-
AgentId
用于识别使用哪个应用发送消息,因为你可以拥有很多应用。 -
Secret
用于请求验证身份的Token
。
![](https://img.haomeiwen.com/i11414906/098e83b40b278a34.png)
接着点击 我的企业
![](https://img.haomeiwen.com/i11414906/704c9feb0c76a1fe.png)
![](https://img.haomeiwen.com/i11414906/c5413ad5d0f4e414.png)
![](https://img.haomeiwen.com/i11414906/2dc6e6fa1139eae7.png)
![](https://img.haomeiwen.com/i11414906/fc6a1e5bb69d9762.png)
![](https://img.haomeiwen.com/i11414906/4696ad65d39b5d58.png)
发送代码
1. 获取 token
import requests
Secret = "你自定义应用的 Secret"
corpid = '你注册的企业 corpid'
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={}&corpsecret={}'
getr = requests.get(url=url.format(corpid,Secret))
#
# print(r.json())
# {'errcode': 0, 'errmsg': 'ok', 'access_token': 't2HxARFMOgge-neHJwYXe4MrIXlFcu2m_Ev1pGQIAcmu-Kt1kQ7pey6jkPfdecqyvvZ9RGb3oSfjL1-lbbp1Y6UGGi8ZjNNd64AALtbR58ot1lh6VjE2ITkiWwgIftwWyryNDw_1AJAtVYYQxKU2O16a7NhHVEdcHG20u8czD-QUDUec1LqI4503OcVGzdR4Cq_4yA6a3fIkVLdQ_u3CHg', 'expires_in': 7200}
access_token = getr.json().get('access_token')
# access_token ='t2HxARFMOgge-neHJwYXe4MrIXlFcu2m_Ev1pGQIAcmu-Kt1kQ7pey6jkPfdecqyvvZ9RGb3oSfjL1-lbbp1Y6UGGi8ZjNNd64AALtbR58ot1lh6VjE2ITkiWwgIftwWyryNDw_1AJAtVYYQxKU2O16a7NhHVEdcHG20u8czD-QUDUec1LqI4503OcVGzdR4Cq_4yA6a3fIkVLdQ_u3CHg'
发送普通文本信息
access_token ='t2HxARFMOgge-neHJwYXe4MrIXlFcu2m_Ev1pGQIAcmu-Kt1kQ7pey6jkPfdecqyvvZ9RGb3oSfjL1-lbbp1Y6UGGi8ZjNNd64AALtbR58ot1lh6VjE2ITkiWwgIftwWyryNDw_1AJAtVYYQxKU2O16a7NhHVEdcHG20u8czD-QUDUec1LqI4503OcVGzdR4Cq_4yA6a3fIkVLdQ_u3CHg'
data = {
"touser" : "用户账号1|用户账户2", # 向这些用户账户发送
# "toparty" : "PartyID1|PartyID2", # 向这些部门发送
"msgtype" : "text",
"agentid" : 1000002, # 应用的 id 号
"text" : {
"content" : "一看到你,我这张丑脸就泛起微笑^_^。"
},
"safe":0
}
import json
r = requests.post(url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={}".format(access_token),
data=json.dumps(data))
print(r.json())