监控服务调用微信API怎样给本人发告警信息
今天血汗来潮,想试试用微信民众号给本人发新闻。主如果想怎样运维监控的设施故障时可以通过微信告警。
查了一下开发者文档,发明普通未认证订阅号不能通过API群发,认证订阅号天天只能群一条信号,而认证的服务号每月发给每个月户也只要4条。瞬间心凉了一半,于是网上又搜了一下,发明有个“WeiXin-Private-API-master”的东东说是可以独自给每个关注的会员发送,于是下载试了一下,失败。再去查查官方文档,已找不到这个“single send”接口,官方的FAQ里答复也是没有这个功能。
最后运用民众平台测试账号,最后总算成功了。具体的步骤如下:
注:测试账号天天可以发送100条分组群发信息和100条openid列表群发信息。
1.注册民众平台订阅号(个人的未认证订阅号即可)
2.开通开发者核心功能,注册民众平台测试账号。获取到appID和appsecret
3.通过appID和appsecret获取access_token。(也即是临时凭据,有效工夫为两小时,需要在到期前去更新)。获取的url为
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
(将上面的APPID和APPSECRET替代成第2步获取到的ID和密码)
4.运用个人微信号关注这个测试账号,关注后在右方会涌现加密后的微信号(也就是OpenID)
5.通过脚本调用API,这里用PHP,以OpenID列表群发为例
<?php $post_data = array( "touser"=>array('OpenID1', 'OpenID2'), //把OpenID替代成第4步获取到的加密微信号注意这里至少要两个OpenID,否则会返回差错信息。要是只要一个账号关注了的话,可以本人再随意造一个,或两个OpenID写成同样 "msgtype"=> "text", "text" => array( "content" => "I am msg.") ); $post_data = json_encode($post_data) ; //由于API只承受json的格局的数据,所以要进行json encode,当然,以上的代码也可直接写成下面这样: //$postdata = '{"touser":["OpenID1","OpenID2"],"msgtype":"text","text":{"content":"I am msg."}}'; $url='https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=ACCESS_TOKEN'; //把ACCESS_TOKEN替代成第3步获取到的token $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POSTFIELDS, $p); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //上面两行是为理解决https证书题目,不加的话会报错,所以直接信任证书了。 $result=curl_exec($ch); echo curl_error($ch);curl_close($ch); print_r($result);
6.用阅读器打开这个页面,显示成功:
7.在手机上查看订阅号发来的信息。(有一些推迟,所以关于需要危急处置的监控不适合用微信订阅号来发)
最后再强调一下,为了腾讯了为平安,运用access_token,两小时就超时,所以要在超时前从新获取,可以直接在代码里进行刷新获取。测试账号天天可获取最大次数为2000次。
以上内容就是监控服务调用微信API怎样给本人发告警信息的全部内容,但愿大家喜好。
热门标签:dede模板 / destoon模板 / dedecms模版 / 织梦模板