首页 > 编程知识 正文

python 企业微信接口,python获取企业微信消息

时间:2023-05-06 09:00:54 阅读:267879 作者:1735

python实现由通知接口发送企业微信通知 问题背景要点说明1. 请求接口鉴权并返回token值2.请求通知接口发送企业微信通知3.通知内容中传入参数

问题背景

项目中需要通过 python 实现由企业微信接口发送通知的功能,由于实现过程中发现了一些小问题,因此将各种情况总结一下。

要点说明 1. 请求接口鉴权并返回token值 import requestsimport jsondef request_token():param = "{nt"appkey":"appkey",nt"appsecret":"appsecret"n}"headers_token = { 'Content-Type': "application/json", 'User-Agent': "agent_name"}response_token = requests.request("POST", url='url', headers=headers_token, data=param)dict = json.loads(response_token.text)token = dict['data']['token']

注意:

appkey 和 appsecret 是请求 token 时的账号和密码。代理 ‘User-Agent’ 可以根据实际情况选填,由于项目中如果不填则服务器拒绝访问,因此列入。‘Content-Type’ 为 json格式,若更改为其他格式,则会返回 400。由于项目中请求 token 返回的包含多个字段的字典类型结果,其中 data 包含 token 和 exp ,token 字段返回的是获取的token值,exp 字段返回该值的有效时间。不同封装库设置不同,返回的字段也不同,需根据实际情况判断。在提取返回信息时需要用 json.loads 解码,可通过 dict 提取返回结果中的 token 值。 2.请求通知接口发送企业微信通知 import requestsdef send_notice(): headers_port = { 'Authorization': token, 'User-Agent': "agent_name" } dict_data = { 'receiver': receiver, 'message': message } response = requests.request("POST", url='url', headers=headers_port, data=dict_data)

注意:

headers_port 里,‘Authorization’ 为获取的 token值, ‘User-Agent’ 为代理名。dict_data 则是按照封装库要求填写的通知主体。 3.通知内容中传入参数 import jsondef msg():message['title'] = "邮件主题"message['content'] = """ >事件日期:<font color="warning">%(DATE)s</font> >事件内容:<font color="comment">%(SCOPE)s</font>> ><font color="info">**事件详情**</font>>%(CONTENT)s""" % dict( DATE=date, SCOPE=scope, CONTENT=content )message = json.dumps(message)

注意:

‘data’、‘scope’、‘content’ 均为外部传入的参数,可自行定义。message 主体支持 html类型,因此可以通过 html类型设置不同显示效果,突出通知重点。封装库要求中明确 messge 内容为 json类型,因此最后需用 json.dumps 编码。大小单双稳赢技巧dict_data = { 'receiver': receiver, 'message': message } response = requests.request("POST", url='url', headers=headers_port, data=dict_data)

注意:

headers_port 里,‘Authorization’ 为获取的 token值, ‘User-Agent’ 为代理名。dict_data 则是按照封装库要求填写的通知主体。 3.通知内容中传入参数 import jsondef msg():message['title'] = "邮件主题"message['content'] = """ >事件日期:<font color="warning">%(DATE)s</font> >事件内容:<font color="comment">%(SCOPE)s</font>> ><font color="info">**事件详情**</font>>%(CONTENT)s""" % dict( DATE=date, SCOPE=scope, CONTENT=content )message = json.dumps(message)

注意:

‘data’、‘scope’、‘content’ 均为外部传入的参数,可自行定义。message 主体支持 html类型,因此可以通过 html类型设置不同显示效果,突出通知重点。封装库要求中明确 messge 内容为 json类型,因此最后需用 json.dumps 编码。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。