PHP+TP框架实现微信获取JS-SDK所需的access_token,并全局缓存
2017-06-27 00:18
671 查看
一.准备工作.
1.将需要使用到的微信配置放在config.php配置文件中方便获取.(我使用的是微信测试号)
2.简介:access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。每天刷新access_token的次数有限,所以我们需要全局缓存access_token,避免频繁刷新access_token出现问题,影响业务.
二.获取access_token,并全局缓存.
我在tp框架Application/Home/Common/function.php中定义公共方法getAccessToken方法获取access_token并全局缓存.
以上是获取js-sdk所需的access_token,并全局缓存的流程.若果有错误请大家指出,谢谢
1.将需要使用到的微信配置放在config.php配置文件中方便获取.(我使用的是微信测试号)
return array( //'配置项'=>'配置值' 'appID'=>'wxf58**********f2e', 'appSecret'=>'2dd3de4141aadd088**********6264b' );
2.简介:access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。每天刷新access_token的次数有限,所以我们需要全局缓存access_token,避免频繁刷新access_token出现问题,影响业务.
二.获取access_token,并全局缓存.
我在tp框架Application/Home/Common/function.php中定义公共方法getAccessToken方法获取access_token并全局缓存.
//该公共方法获取和全局缓存js-sdk需要使用的access_token function getAccessToken(){ //我们将access_token全局缓存在文件中,每次获取的时候,先判断是否过期,如果过期重新获取再全局缓存 //我们缓存的在文件中的数据,包括access_token和该access_token的过期时间戳. //获取缓存的access_token $access_token_data = json_decode(F('access_token'),true); //判断缓存的access_token是否存在和过期,如果不存在和过期则重新获取. if($access_token_data !== null && $access_token_data['access_token'] && $access_token_data['expires_in'] > time()){ return $access_token_data['access_token']; }else{ //重新获取access_token,并全局缓存 $curl = curl_init(); curl_setopt($curl,CURLOPT_URL,'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' .C('appID').'&secret='.C('appSecret')); curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); //获取access_token $data = json_decode(curl_exec($curl),true); if($data != null && $data['access_token']){ //设置access_token的过期时间,有效期是7200s $data['expires_in'] = $data['expires_in'] + time(); //将access_token全局缓存,快速缓存到文件中. F('access_token',json_encode($data)); //返回access_token return $data['access_token']; }else{ exit('微信获取access_token失败'); } } }
以上是获取js-sdk所需的access_token,并全局缓存的流程.若果有错误请大家指出,谢谢
相关文章推荐
- PHP+TP框架实现获取微信JS-SDK使用权限签名算法需要的jsapi_ticket,并全局缓存
- PHP+TP框架生成使用微信JS-SDK所需的配置信息,并验证
- PHP+TP框架实现微信网页授权,获取用户信息
- 微信&java 开发6 全局缓存access_token与jsapi_ticket
- PHP+TP框架实现微信网页授权,获取用户信息
- 微信公众号开发《三》微信JS-SDK之地理位置的获取与在线导航,集成百度地图实现在线地图搜索
- 微信JS-SDK选择相册或拍照并上传PHP实现
- PHP+TP框架实现使用微信图像接口
- php微信2 获取自定义菜单中的access_token
- 模仿微信朋友圈 仿微信js-sdk wx.previewImage javascript实现,支持图片预览,滑动切换,双指缩放,图片缓存 h5 html5 js
- php微信2 获取自定义菜单中的access_token
- PHP微信开发之获取access_token
- php获取微信公众账号access_token实例
- PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
- PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
- 【Day36】PHP定时任务获取微信access_token
- PHP定时任务获取微信access_token的方法
- 微信开发第二篇:获取全局access_token
- 【转】微信JS-SDK选择相册或拍照并上传PHP实现