脚本调用微信订阅号发送信息

1.首先注册一个公众号,公众号分为个人类型的订阅号及组织公司类型的服务号,所对应的权限不一样,详情可以查询下。

这里注册的是订阅号,是没有调用发送信息的接口权限的,但是公众平台提供权限比较高的测试账号,以供使用。

2.登录公众号,点击左边菜单栏最下方的开发者工具。

点击 “公共平台测试账号” 可以获得一个公众号:

下面有测试号的二维码,关注之后会显示到用户列表中,如下图所示:

3.编写shell脚本

cat weixin.sh

#!/bin/bash

#填写测试公众号的ID
CropID='id'
#填写测试公众号的密码
Secret='passwd'
#请求token的URL
GURL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${CropID}&secret=${Secret}"
#存储token的文件
TOKENFILE=token.txt
#判断存储token的文件是否存在,不存在则创建,并将token写入。
if [ ! -f $TOKENFILE ];then
    touch $TOKENFILE
    Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $4}')
    echo $Gtoken > $TOKENFILE
else
    #token文件的创建时间与当前时间作对比,如果超过7000秒则重新请求,因为token的有效期为7200秒。
    a=`stat -c %Y $TOKENFILE`
    b=`date +%s`    
    if [ $[ $b - $a ] -gt 7000 ];then
        Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $4}')
        rm -rf $TOKENFILE
        touch $TOKENFILE
        echo $Gtoken > $TOKENFILE
    else
        Gtoken=`cat $TOKENFILE`
    fi
fi

#发送信息的URL
PURL="https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$Gtoken"

#信息格式
function body() {
printf '{\n'
printf '\t"touser": "'"o7OgJs6P_8161dSIGy9b1rwodcXI"\"",\n"
printf '\t"msgtype": "text",\n'
printf '\t"agentid": "'"1"\"",\n"
printf '\t"text": {\n'
printf '\t\t"content": "'"$1"\""\n"
printf '\t},\n'
printf '\t"safe":"0"\n'
printf '}\n'
}
#发送
/usr/bin/curl --data-ascii "$(body $1)" $PURL
 

运维脚本:./weixin.sh test

返回结果:

{"errcode":0,"errmsg":"ok"}

查看微信:

可以结合zabbix使用。

 

还可以使用微信公众平台接口调试工具进行测试:

可以获取token,以及发送信息:(选择相对应的接口类型)

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值