微信服务号推送模板信息服务器验证与模板消息推送
2017-06-22 09:40
561 查看
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2017/5/24 * Time: 14:25 */ define('APPID', "开发者id" ); define('APPSECRET', "开发者密码"); class weixin_class { public static $access_token = null; public static $appid = APPID; public static $appsecret = APPSECRET; //保证Access Token有效 public static function valid() {
//先获取缓存中的access_token,没有或者过期,重新获取access_token $mem = new ICache(); self::$access_token = $mem->get('access_token'); if (empty(self::$access_token)){
//access_token接口路径 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".self::$appid."&secret=".self::$appsecret; //获取access_token
$res = self::getWxAccessToken($url); self::$access_token = $res['access_token']; $mem->set('access_token', self::$access_token,3600); } } // 获取access_token,调用微信接口 public function getWxAccessToken($url){ //初始化 $ch = curl_init(); //设置参数 curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //执行 $res = curl_exec($ch); //关闭句柄 curl_close($ch); //检查错误 if(curl_errno($ch)) { echo 'Curl error:'.curl_error($ch); } $arr = json_decode($res,true); return $arr; } // 发送采集请求的方法 public function http_curl($url,$type='get',$res='json',$data=''){ //1.创建连接资源 $ch = curl_init(); //2.设置参数 curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //设置超时时间 curl_setopt($ch,CURLOPT_TIMEOUT,10); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); if($type=='post'){ curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); } //3.采集 $output = curl_exec($ch); //4.关闭 curl_close($ch); if(curl_errno($ch)){ return curl_errno($ch); } return json_decode($output,true); } //1.param array 发送模板信息内容 public static function sendMsg($data=NULL) { //access_token拼接发送接口 $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".self::$access_token; $arr = array(
//关注公众号的用户openid "touser"=>"用户openid",
//服务号预设的模板id "template_id"=>"模板id",
//点击模板后链接地址 "url"=>"http://www.baidu.com",
//依据预设的模板填入相应的对应字段的信息 "data"=>array( 'name'=>array( 'value'=>'你好啊', 'color'=>'#173177' ), 'date'=>array( 'value'=>date('Y-m-d H:i:s'), 'color'=>'#173177' ), 'content'=>array( 'value'=>'欢迎光临', 'color'=>'#173177' ) ) ); //数组->json $jsonData = json_encode($arr); //调用curl函数 $res = self::http_curl($url,'post','json',$jsonData); var_dump($res); }
相关文章推荐
- 微信小程序 消息推送php服务器验证实例详解
- 微信服务号推送模板消息接口
- 微信公共服务平台开发(.Net 的实现)11-------客服消息(定项消息推送 重要的OPENID)
- 微信公共服务平台开发(.Net 的实现)11-------客服消息(定项消息推送 重要的OPENID)
- 01_Weblogic课程之概念篇:代理服务器,web服务器,应用程序服务器,JNDI概念,JTA概念,Java消息服务,Java验证和授权(JAAS),Java管理扩展,Web客户机,客户机应用程序
- 微信配置模板消息进行订单消息推送[基于测试号]
- 微信模板消息推送
- 微信公共服务平台开发(.Net 的实现)11-------客服消息(定项消息推送 重要的OPENID)
- java 微信公众服务平台 下发 模板消息
- 微信推送模板消息
- 实用的微信类,用于验证token,回复图文、文本,向用户推送消息等
- (基于nodejs)微信测试号(接口配置信息)验证服务器的URL
- PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息限制
- 苹果消息推送服务教程(下有php服务端DEMO,已验证可用)
- 使用模板消息实现微信消息推送,突破48小时限制
- thinkphp框架下的微信验证、关注回复图文,文本、向用户推送消息、首次登录入库或更新用户资料等
- 微信服务号模板消息接口新增"设置行业"和"添加模板"及细节优化
- PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息限制
- 微信里面的签到加积分接口(已经测试过没问题)服务号不能每天发送消息,为了避免这个,每天签到的时候,推送一条最新的消息给客户。
- 微信模板消息推送