如果服务器能连外网,还是使用电报推送消息比较简单方便。体验过server酱微信消息推送,偶尔会推送失败,也不知道什么时候可能就关闭服务了。新出了一个Turbo版本,可以使用企业微信推送,微信接收消息。然后看到有大佬使用cloudflare的worker反代了企业微信的接口,实现消息推送。
反正都是要注册企业微信的,不如自己反代一个。通过cf worker反代,把企业微信应用推送方式由post转换为get方式。只不过get相对可能比较简单一点,会看官方企业微信文档的应该也用不到。企业微信默认使用post请求,如果不想使用worker反代,就自己查看官方文档即可:https://work.weixin.qq.com/api/doc/90000/90135/90236
GitHub:https://github.com/w2r/cfworker_WeCom
1、注册企业微信:https://work.weixin.qq.com/
在我的企业——企业信息,获取企业id。
在应该管理里,创建新应用,就可以获取AgentId,安装企业微信,发送Secret,就可以获取Secret。
我的企业——微信插件,获取二维码,微信关注一下,消息就可以推送到关注企业的微信。
2、注册cloudflare就自然不用多说了。创建worker,导入代码。最后保存并部属即可。
代码备用下载:http://download.zsxwz.com/d/16220046-43526398-a46a14
(访问密码:zsxwz)
修改代码中的企业id,应用AgentId和Secret,还有woeker的地址。
3、发送消息。和server酱一样发送get请求即可。
以curl为例:
#发送文本消息: curl "https://*****************.workers.dev/?form=text&content=测试字体" #发送textcard: curl "https://*************.workers.dev/?form=textcard&content=标题:姿势小王子|内容:哈哈哈|https://bbs.zsxwz.com" #发送文件: curl "https://*******.workers.dev/?form=file&content=3qddaGll_yvG****文件id,上传文件至企业素材库获取"
用python也是比较简单,使用requests就可以发送几个简单的get请求:
import requests requests.get('https://*********.workers.dev/?form=text&content=测试字体')
发送其他类型的都差不多,看原文作者说明即可。在企业微信里,管理工具,素材库,即可上传,图片,视频,文件等等,下载即可获取media_id即为链接当中的content。
4、如果在服务器上,上传的一般也是临时文件,参考:https://work.weixin.qq.com/api/doc/90000/90135/90253
先获取access_token:
curl "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=***企业id***&corpsecret=***应用secret密钥"
上传临时文件,临时文件只保留三天。使用post请求上传文件即可获取media_id,即发送文件,图片,视频等等使用的content:
curl -F "file=@./w.png" "https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=***上面获取到的token****&type=image" #最后媒体文件类型type,分别有图片(image)、语音(voice)、视频(video),普通文件(file)