使用shell通过微信公众号发送模板消息 - CSDN博客

标签: | 发表时间:2017-12-05 09:12 | 作者:
出处:http://blog.csdn.net

如下通过shell脚本实现,通过微信公众号发送模板消息到个人微信号。

1.配置微信公众号

由于没有认证的公众号,只能通过自己申请的个人订阅号(可以自行申请),并到开发者工具中开通公众平台测试帐号实现该功能。
1.获取测试公众号appID和appsecret
这里写图片描述
*2.关注测试号二维码获取用户openid
这里写图片描述
3.新增模板获取模板ID
这里写图片描述
这里写图片描述
得到模板id: OA0PX8pqc2X7t_y05y5GxZ8LutBpu341FIYSeQOkno

2.通过脚本实现消息发送

这里就不啰嗦了,直接上shell脚本代码,具体看注释

      #!/bin/sh# 微信消息发送脚本 zhutw#全局配置--#微信公众号appIDappID=wx*******0ebde756#微信公众号appsecretappsecret=138********0446e9ae04f2#微信公众号发送消息模板tpl_id=OA0PX8pqc2X7t_-y05y5GxZ8LutBpu341FIYSeQOkno#消息模板:#   {{first.DATA}}#   项目名称:{{name.DATA}}#   报警时间:{{date.DATA}}##   {{remark.DATA}}#获取微信公众号AccessToken,并缓存到本地 函数getAccessToken(){if[-f"$HOME/.wechat_accesstoken"];thenaccess_token=`cat$HOME/.wechat_accesstoken | awk -F":"'{print $1}'`
        expires_in=`cat$HOME/.wechat_accesstoken | awk -F":"'{print $2}'`
        time=`cat$HOME/.wechat_accesstoken | awk -F":"'{print $3}'`if[ -z$access_token] || [ -z$expires_in] || [ -z$time];thenrm-f$HOME/.wechat_accesstoken
            getAccessTokenfielsecontent=$(curl"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appID&secret=$appsecret")echo"get content:$content"access_token=`echo$content| awk -F"\""'{print $4}'`
        expires_in=`echo$content| awk -F"\""'{print $7}'| cut-d"}"-f1|cut -c2-`echo"access_token =$access_token"echo"expires_in =$expires_in"time=$(date +%s)echo"$access_token:$expires_in:$time">$HOME/.wechat_accesstokenif[ -z$access_token] || [ -z$expires_in] || [ -z$time];thenecho"not get access_token"exit0fifiremain=$[$(date +%s) -$time]
    limit=$[$expires_in-60]if[$remain-gt$limit];thenrm-f$HOME/.wechat_accesstoken
        getAccessTokenfi}#发送消息函数sendMessage(){#消息json体message=`cat << EOF
    {"touser":"$openid","template_id":"$tpl_id","url":"$url","data":{"first": {"value":"$first","color":"#FF0000"},"name":{"value":"$name","color":"#173177"},"date": {"value":"$date","color":"#173177"},"remark":{"value":"$remark","color":"#FF0000"}
    }
     }
EOF
`echo"send message :$message"curl -X POST -H"Content-Type: application/json"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=$access_token-d"$message"}#帮助信息函数usage(){
    cat <<EOF
usage:$0[-u openids-ssummary -n name -t time-ddetail-llink] [-h]
    u   wechat user openid , multiple comma separated
    s   message summary
    n   project name
    t   alarm time
    d   message detail
    l   link address
    h   output thishelpandexitEOF
}#获取脚本执行参数whilegetopts":u:s:n:t:d:h:l:"op;docase$opinu)
        openids="$OPTARG";;
        s)
        first="$OPTARG";;
            n)
               name="$OPTARG";;
            t)
        date="$OPTARG";;
            d)
        remark="$OPTARG";;
        l)
        url="$OPTARG";;
        *)
        usageexit0;;esacdone#判断条件满足发送消息if[[ -n$openids&& -n$first&& -n$name&& -n$date]];thengetAccessToken
    OLD_IFS="$IFS"IFS=","arr=($openids)
    IFS="$OLD_IFS"foropenidin${arr[@]}dosendMessagedoneexit$?elseecho"params error."usageexit1fi

关于微信公众号接口说明查看如下接口wiki:
https://mp.weixin.qq.com/wiki
1.开始开发->获取access_token
2.消息管理->模板消息接口

3.接收到消息

执行命令脚本即上述shell脚本内容。记得设置脚本执行权限 chmod +x sendMessageForWechat
shell
./sendMessageForWechat -u o4bHbvjL9aWoRCa29vdOQ9aJMq0w -s "192.168.1.90磁盘空间不足" -n 测试系统 -t "2017-01-15 13:00:10" -d "磁盘已使用超过80%,剩余5G,请及时处理" -l "http://m.baidu.com"

这里写图片描述
点击消息,打开百度链接。。。

相关 [shell 微信 公众] 推荐:

使用shell通过微信公众号发送模板消息 - CSDN博客

- -
如下通过shell脚本实现,通过微信公众号发送模板消息到个人微信号. 由于没有认证的公众号,只能通过自己申请的个人订阅号(可以自行申请),并到开发者工具中开通公众平台测试帐号实现该功能. 1.获取测试公众号appID和appsecret. *2.关注测试号二维码获取用户openid. 得到模板id: OA0PX8pqc2X7t_y05y5GxZ8LutBpu341FIYSeQOkno.

Shell编程

- - 博客园_首页
本来打算寒假回家好好学习Linux的,为以后学习嵌入式打好基础的. 回家之后的学习效率非常低,之前为了搭建Linux环境,折腾了很长时间,学到现在也就勉强才把Shell编程学完了. 今天就把自己学习的相关知识点总结整理一下. 个人感觉shell程序跟windows下的批处理文件有点像,就是将一些系统命令写进一个可执行文件中,然后执行.

shell 学习笔记

- tiger - 游戏人生
将脚本目录加到 PATH 中. 在 dash 中如何进行字符串替换. 将 rst 格式文档转换为 blog 可用的 html 代码. shell 脚本虽然不是非常复杂的程序, 但对于首次接触的我来讲, 多少还是有些忌惮. 不过, 接触任何新事物都需要勇敢面对, 逐步树立信心. 我是冲着把脚本写好去的, 所以, 我的目标是能够写出友好, 健壮, 优美的脚本..

GNOME Shell 3.2 预览

- timebug - LinuxTOY
近日 Allan 在他的博客上分享了最近在 GNOME Shell 3.2 上的开发进度. 整合聊天和消息程序(由 Guillaume Desmottes 开发). 登陆系统时自动登陆聊天服务,不再需要额外启动聊天程序. 直接在 Shell 即可语音通话,回复聊天邀请,文件传输. 通知计数器(由 Guillaume Desmottes 开发).

Ubuntu11.10 GNOME Shell指南

- 个人 - 译言-每日精品译文推荐
Ubuntu 11.10终于提供了一种安全方便的方式去安装和使用“GNOME Shell”——GNOME的新桌面交互接口. 这意味着不像之前的版本那样,现在它不需要任何额外的插件,或者执行任何可疑的脚本它可以从Ubuntu软件中心直接安装,只需一次简单的点击. 为了在ubuntu上获得更好的体验我们需要安装一些额外的插件.

浅谈微信公众平台

- - 微博之博
过去的这个周末,应该大部分人都在家里调戏 微信公共 平台. 有人幸灾乐祸,有人稍作恐慌:芸芸众生相. 注册尝试了一个微信 公众平台,总结一句话:龙生龙,凤生凤. 以前曾经有人说中国的互联网,要么生要么死要么被腾讯. 企鹅家族优良的传统,势必不会放过 微博帝国的3亿用户群的潜在商业价值,所以这次爱起哄的企鹅家族,又一次决定露出起哄天性,悄悄的推出了微信公众平台.

微信公众平台开发(一)

- - BlogJava-首页技术区
  开始微信公众平台的开发,我们首先要了解微信平台可以帮助我们做哪些事情. 使用您的公众账号登陆http://mp.weixin.qq.com/,选择菜单--高级功能-开发模式--查看文档,即能看到微信公众平台目前所能开发的功能. 接受用户发送给您公众账号的消息. 需要特别说明的是,发送消息和回复消失是一个连贯的过程,只能在一个对话中完成.

微信公众平台接口开发

- - CSDN博客互联网推荐文章
随着微信公众平台的开放,微信营销推广也越发受到重视. 现在企业越来越注重求职者是否拥有“微信公众平台接口开发”的经验. 现在参考资料介绍下微信公众平台接口开发模式:. 首先你得有个微信公众平台账号,注册地址:http://mp.weixin.qq.com/. 开发者提交信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数:.

微信公众平台开发入门

- - Web前端 - ITeye博客
在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础. 我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见底部. 本系列教程将引导你完成如下任务:. 我们使用SAE新浪云计算平台作为服务器资源,并且申请PHP环境+MySQL数据库作为程序运行环境.

Shell 小技巧一则

- Hinc - LinuxTOY
经常与 Shell 为伍的你是不是也会经常碰到下面这些情境: 1$ mv /somewhere/file /your/folder/ 2$ vi /your/folder/file. 要保存某些文件到特定目录,然后开始查看/编辑 1$ cp /somewhere/foo.c /somewhere/foo.c.orig 2$ vi /somewhere/foo.c.