使用微信测试号和企业微信应用搭建自己的消息推送服务。只要向自己的服务器发送一个简单的 GET 请求,即可将消息推送至你的手机微信上。
https://github.com/LeeJiangWei/go-message
在推送之前,需要先在系统上配置好微信相关的设置。登录系统后台,注册一个新用户,然后参考以下信息配置。
微信测试号和企业微信应用可以只配置其中一个,但必须填写所有字段,否则无法推送。
GET http://你的域名 /template/用户名
GET http://你的域名 /template/用户名?token=hello
From: {{from.DATA}} {{description.DATA}} {{remark.DATA}}
,提交后获取模板 ID 。http://你的域名 /verify/用户名
;填入任意 Token 作为接口配置 Token 。填完先不要点击验证,先在回到推送系统中填好接口配置 Token 并成功修改后,再点击验证。发送简单 GET 或 POST 请求到自己服务器上即可完成推送。
注意:所有推送必须携带 token
参数来验证身份,值为用户信息配置中的消息推送 Token 。可以在 URL 中用 query params 的方式,也可以用 form data 的方式。
微信测试号仅支持模板消息。
推送 URL ( GET / POST ):http://你的域名 /template/用户名
可选参数字段(用于显示在模板的不同位置):
注:如果用 GET 请求,参数需要全部用 query params 的方式。如果使用 POST 请求,需要全部用 form data 的方式。
示例:http://你的域名 /template/用户名?token=token&from=webpage&desc=Hello%20Wrold&remark=这是一条测试消息
效果:
企业微信应用支持纯文本消息、文字卡片消息。
推送 URL ( GET / POST ):http://你的域名 /plaintext/用户名
必需参数字段:
注:如果用 GET 请求,参数需要全部用 query params 的方式。如果使用 POST 请求,需要全部用 form data 的方式。
示例:http://你的域名 /plaintext/用户名?token=token&content=Hello,%20traveller
推送 URL ( GET / POST ):http://你的域名 /textcard/用户名
必需参数字段:
注:如果用 GET 请求,参数需要全部用 query params 的方式。如果使用 POST 请求,需要全部用 form data 的方式。
示例:http://你的域名 /textcard/用户名?token=token&title=Hello&desc=World
效果:
直接运行打包好的二进制文件即可。初次运行会产生一个配置文件,里面可以配置 JWT 签发相关设置,是否启用 Redis 作为缓存(默认否),服务运行的端口(默认 80 )。重启服务器后生效。
GOPROXY=https://goproxy.cn,direct GOOS=windows GOARCH=amd64 go build -o go-message go-message-pusher
GOPROXY=https://goproxy.cn,direct CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o go-message go-message-pusher
GitHub 地址: https://github.com/LeeJiangWei/go-message
1
wxyrrcj 2022-03-09 21:38:01 +08:00 via Android
|
2
oneisall8955 2022-03-09 22:13:52 +08:00 via Android
好耶~赞
|
3
czyt 2022-03-09 23:10:39 +08:00
已经用上了,谢谢分享
|
4
xxb 2022-03-09 23:54:21 +08:00 via iPhone
不错,很赞!
|
5
qile1 2022-03-10 00:56:38 +08:00 via Android
能不能传人用户 id ,给其他人发送信息
|
6
FatherMurker OP @wxyrrcj 哈哈,这个仓库其实就是我的灵感来源
|
7
FatherMurker OP |
8
FatherMurker OP @qile1 不错的想法,后续会加上👍
|
9
cuixiao603 2022-03-10 09:05:31 +08:00
必须要 GLIBC_2.28 吗
|
10
mydebug 2022-03-10 11:35:25 +08:00
已用上,期待后续更新
|
11
275761919 2022-03-10 11:59:05 +08:00
很好,但还是感觉 qq bot 方便
|
12
qile1 2022-03-10 12:05:47 +08:00 via Android
@FatherMurker
@FatherMurker 示例: http://你的域名 /template/用户名?token=token&from=webpage&desc=Hello%20Wrold&remark=这是一条测试消 这个用户名这是作为传人验证?把能在发送信息那里获取对应的用户名来发送给过个吗? |
13
qile1 2022-03-10 12:08:58 +08:00 via Android
@qile1 @FatherMurker
示例: http://你的域名 /template/用户名?token=token&from=webpage&desc=Hello%20Wrold&remark=这是一条测试消息 这个用户名是否仅可以作为传入验证?如果能在发送信息那里获取到这个用户名来发送给对应用户模板消息就可以实现多人提醒啦? |
14
FatherMurker OP @cuixiao603 应该不依赖吧,是在 Linux 编译出错了吗
|
15
FatherMurker OP @qile1 确实可以,目前用户名就是对应了自己的接收者 ID ,多用户的话只要在接受参数的时候顺便接受其他用户就好了,后续就打算做这个;或者其实企业微信推送的 API 本来就支持多用户,只要在配置界面里把其他企业成员的 ID 也加上去就好了,例如 "XiaoMing|LiuHua",或者 "@all" (我还没试过),详见: https://developer.work.weixin.qq.com/document/path/90236#%E6%96%87%E6%9C%AC%E6%B6%88%E6%81%AF
|
16
Ritter 2022-03-10 13:53:07 +08:00
邮件没有接入吗
|
17
danube533 2022-03-10 14:05:14 +08:00
请问下截图里的英文字体是什么名字?
|
18
FatherMurker OP |
19
qile1 2022-03-11 02:10:27 +08:00 via Android
@FatherMurker 顺便加个传递 accesstoken 的功能,这样其他接口可以和这个项目共享 token ,就可以一个公众号各个服务不冲突啦
我个人公众号需要其他功能,如果 token 老是被更新,那就不好多个项目共存啦 |
20
FatherMurker OP @qile1 指的是让这个服务往外传 token ,还是接收外部进来的 token 呀?前者就好办,后者的话因为定时更新逻辑写死了不好动了
|
21
qile1 2022-03-11 20:50:30 +08:00 via Android
@FatherMurker 给服务传,这样发消息时候用这个服务,干别事情用其他服务就不担心 token 被更新失效啦
|
22
bbis 2022-03-13 08:50:28 +08:00 via iPhone
|