由于server酱推送消息开始收费,便参考实现了一个自用的推送微信消息的方案。

项目部署于腾讯云函数,使用企业微信通道,通过http请求直接向微信推送消息。

项目地址

项目地址:https://github.com/zzzjoy-620/wechatpush

使用教程

创建企业应用

一、注册企业

进入企业微信官网,注册一个企业。

二、创建应用

点「管理企业」进入管理界面,选择「应用管理」 → 「自建」 → 「创建应用」。

image-20210730092531953

三、 获取配置

点击进入应用,查看AgentId和Secret,其中Secret需要在手机端的企业微信查看。

image-20210730092913129

在「我的企业」中查看企业ID。

image-20210730093512316

至此,你获取到了企业微信应用推送渠道的三个配置信息,分别是AgentId、Secret以及企业ID。

部署云函数

一、创建云函数

此处创建腾讯云函数,函数类型为事件函数,运行环境选Python3,函数代码选用本地上传zip包文件,也可选在线编辑,复制项目的index.py代码。触发器暂不创建。

image-20210730103135112

二、配置环境变量

在函数管理编辑函数配置,设置如下的环境变量。

key value
PUSH_KEY 自己设置的key,可随意,后面会用到
WX_AID 企业微信应用的AgentId
WX_CID 企业ID
WX_SECRET 企业微信应用的Secret

image-20210730105021360

三、创建触发器

触发管理中创建触发器,选择API网关触发,关闭集成响应(重要)。

image-20210730105736995

创建完成之后,记录访问路径,整个部署环节结束了。

image-20210730110056499

测试推送

消息推送直接向上一步的访问路径发起https请求即可,目前只支持推送文本消息,支持get和post两种请求方案,建议使用post。

请求参数 说明 是否必须
key 环境变量中的PUSH_KEY
msg 推送的文本消息
touid 推送到对应的成员的 ID,在企业微信后台,通讯录,成员资料 账号 字段多个ID用|隔开,例如“zhangsan|lisi”。默认为@all。

image-20210730110624786

补充说明

本项目未做完善,建议自己使用,由于未使用redis,企业微信的获取access_token接口每次推送消息都会请求一次,而不是在过期时间内重复使用access_token,但是好在请求接口基本没限制,另外,企业微信推送消息频率也有限制,不过自己使用都不用担心。

image-20210730113341862

项目参考

wecomchan