- 大家好,我是同学小张,日常分享AI知识和实战案例
- 欢迎 点赞 + 关注 👏,持续学习,持续干货输出。
- 一起交流💬,一起进步💪。
- 微信公众号也可搜【同学小张】 🙏
本站文章一览:
有了上一篇文章的 公众号开发避坑指南,为了避免微信服务设定的5s超时的限制,我需要能给用户主动发消息的接口权限。要么是认证的微信服务号或订阅号,要么是企业微信。
看了半天,还是企业微信比较方便一点,不用认证也可以主动给用户发消息。
于是,我又开始折腾企业微信的开发了…
本文为入坑的第一篇,带大家看下企业微信的自建应用的开发,如何与自己的服务链接起来。
0. 申请一个企业微信
首先,我们得有一个企业微信。
自行注册即可,这个没什么限制,也不需要认证。
注册链接:https://mp.weixin.qq.com/cgi-bin/loginpage?url=%2Fcgi-bin%2Fhome%3Ftoken%3D1752863136
1. 创建自建应用和配置
(1)有了企业微信,登录企业微信管理后台:https://work.weixin.qq.com/
(2)在“应用管理”页面,点击“创建应用”
(3)填写创建应用的信息
(4)创建成功后,点进这个应用界面,可以看到应用的 AgentId 和 Secret。Secret请保存好,不要暴露!
(5)在应用界面的功能区域,接收消息模块,点击“API接收”
(6)会跳到API接收消息的配置面板,这就到了与微信公众号配置(这篇文章)相似的地方了。
这里需要填自己的服务地址,Token 和 EncodingAESKey 可以随机生成。
在填写完,点“保存”之前,还需要先进行服务端配置。
2. 服务端配置
与 微信公众号配置(这篇文章)相似,服务端也需要有所配置,才能成功将上面的API接收消息填写的内容保存。这里的配置,也是要写一个签名验证代码。
不同的是,企业微信的消息貌似都是加密的(微信公众号可以选择明文方式),需要自己解密并校验。
鉴于加解密算法相对复杂,企业微信提供了加解密的库。
Python库链接:https://github.com/sbzhu/weworkapi_python/blob/master/callback/WXBizMsgCrypt3.py
你可以直接将以上代码库下载,但其实,如果只是用来校验签名,可以只复制里面的这两个文件即可。
将这两个文件放到你的工程文件夹下,然后写以下代码:
from WXBizMsgCrypt3 import WXBizMsgCrypt qy_api = [ WXBizMsgCrypt("xxx", "xxx", "xxx"), ] #对应接受消息回调模式中的token,EncodingAESKey 和 企业信息中的企业id # 开启消息接受模式时验证接口连通性 def signature(request, i): msg_signature = request.args.get('msg_signature', '') timestamp = request.args.get('timestamp', '') nonce = request.args.get('nonce', '') echo_str = request.args.get('echostr', '') ret,sEchoStr=qy_api[i].VerifyURL(msg_signature, timestamp,nonce,echo_str) if (ret != 0): print("ERR: VerifyURL ret: " + str(ret)) return("failed") else: return(sEchoStr) @app.route('/company_wechat', methods=['GET', 'POST']) def company_wechat(): echo_str = signature(request, 0) print("company_wechat") return (echo_str)
企业ID的查看方式:
然后运行此Flask应用。
这时候再回到企业微信后台“API接收消息”的那里,点击保存。如果配置无误,应该能保存成功。
这时候,才算是真正将企业微信的自建应用与我们自己的服务打通了。
如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~
- 大家好,我是 同学小张,日常分享AI知识和实战案例
- 欢迎 点赞 + 关注 👏,持续学习,持续干货输出。
- 一起交流💬,一起进步💪。
- 微信公众号也可搜【同学小张】 🙏
本站文章一览: