微信公众平台开发|发送模板消息
发表时间: 2016-10-13 13:49:24 | 浏览次数:
今天给大家分享一遍关于微信公众平台发送模板消息一、在微信公众号后台申请“模板消息”功能
申请很简单,小编当天就申请下来了
申请下来之后,添加你需要的模板,然后就会得到一个模板ID(开发是要用到)
大家看看官方提供的开发文档估计也大概明白整个流程了,其实也就是一个http请求
小编就写了一个类(WeChatSendMsg.class.php),使用该类需开启curl,直接贴上代码
// +---------------------------------------------------------------------- // | 微信公众号 发送模板消息 // +---------------------------------------------------------------------- // | Copyright (c) 2016 http://www.lrfun.com All rights reserved. // +---------------------------------------------------------------------- // | Author: lrfun// +---------------------------------------------------------------------- Class WeChatSendMsg{ protected $appid; protected $secrect; protected $accessToken; function __construct(){ $this->appid = "xxx"; $this->secrect = "xxx"; $this->accessToken = $this->getAccessToken(); } /*** * 获取access_token * @return **/ private function getAccessToken(){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secrect; $res = json_decode($this->httpRequest($url),true); //$access_token = $res['access_token']; return $res['access_token']; } /*** * POST或GET请求 * @url 请求url * @data POST数据 * @return **/ private function httpRequest($url, $data = ""){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if(!empty($data)){ //判断是否为POST请求 curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return $output; } public function sendTemplateMessage($data = ""){ $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$this->accessToken; $result = $this->httpRequest($url, $data); echo $result; } }
调用该类
require_once('WeChatSendMsg.class.php'); $data = array( "touser"=>"wqerU8R8WmVo7ylk3b-frjuo",//openId "template_id"=>"iq91YDi7QaACAyZlm7RaboyNEHDdU2YizPju7rshUq8",//刚刚上面提到的模板ID "url"=>"http://www.lrfun.com",//详情链接 "data"=>array( "name"=> array("value"=>"微信公众号 发送模板消息"),//name:与该模板的参数名相对应 "remark"=>array("value"=>"模板消息发送。。。")//remark:与该模板的参数名相对应 ) ); $sendMsg = new WeChatSendMsg(); $sendMsg->sendTemplateMessage(json_encode($data));
注:小编在开发过程中遇到一点点问题,代码什么的都写好了,测试的时候却不成功,返回:40003(不合法的OpenID),原因是小编用了其他公众号的openId,后面才发现每个微信用户对应的微信公众号的openID是不一样的。
(转载请注明:转自http://www.lrfun.com)
上一篇:php 电脑端与手机端网页实现第三方微信登录
下一篇:微信公众平台|通过openId获取用户信息(unionId)