shell脚本向微信企业号post消息
原来的服务器通知是使用的mstmp发送邮件,然而中国人对邮箱的依赖程度并不高,而且过多的发送的邮件很容易触发邮箱服务商的限制封锁,所以考虑使用其他方式推送消息,通过查询资料,发现微信企业号符合我的要求:注册不强制认证、对消息数量不敏感、可以创建应用和小程序,可玩度更高,所以今天记录一下整个流程。
首先就是注册,去企业微信官网进行注册,过程很简单,填写名称,选择行业,绑定手机和微信号,就完成了。
完成后通过微信扫码进行登陆
首先我们要在微信中添加企业号的微工作台,这样就可以在微信中接收消息不需要下载企业微信app
关注后,微信中就有了相应的企业号
随后我们需要点击上方的“应用与小程序”来新建一个应用,每个应用会提供一个Secret,通过企业号ID与应用Secret就可以向微信请求access_token,进而进行发送消息等操作,有需要的情况下可以建立多个应用区分不同的内容。
详细操作可以阅读企业微信的开发文档,内容还是比较齐全细致的。
1 2 3 4 5 |
#!/bin/sh read text token=`curl -s "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=企业ID&corpsecret=<span class="apiApp_mod_rowItem_title">Secret</span>" | jq .access_token | sed 's/\"//g'` curl -i -X POST -H "Content-type:application/json" -d '{"toparty" : "2","msgtype" : "text","agentid" : 1000003,"text" : {"content" : "'$text'"},"safe":0}' https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$token |
注意需要把脚本中的“企业ID”和“Secret”替换为你的企业ID和相应的应用Secret
简单说一下的我的使用方法,通过以上shell脚本直接读取标准输入,然后获取access_token后将消息发出,例如
1 |
echo "test message" | wechatmsg.sh |
需要注意的是,因为微信方面为UTF8编码,所以调用是如果有中文也要是UTF8的编码