看到很多人对微信公众号开发比较感兴趣,所以有写了一篇;
今天讲讲如何获取Access_token;
获取Access_token比较重要,因为后续的调用任何接口都需要先有access_token的值才可以继续;
下面附上代码:
function getWxAccessToken(){
if($_SESSION['access_token'] && $_SESSION['expire_time']>time()){
return $_SESSION['access_token'];
}else{
$appid = "你的appid";
$appsecret = "你的appsecret";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;
$res = $this->http_curl($url,'get','json');
$access_token = $res['access_token'];
//重新获取到的access_token存到session
$_SESSION['access_token'] = $access_token;
$_SESSION['expire_time'] = time()+7000;
return $access_token;
}
}
获取方法及思路:
1;定义你自己的appid和appsecret;
2:获取微信的服务器地址:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
3:调用curl方法:我这里做了一个简单的封装;
function http_curl($url,$type='get',$res='json',$arr=''){
//获取weixin
//1.初始化curl
$ch = curl_init();
//2.设置curl的参数
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
if($type == 'post'){
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$arr);
}
//3.采集
$output = curl_exec($ch);
//4.关闭
curl_close($ch);
if($res =='json'){
return json_decode($output,true);
}
}
4:将获取到的access_token值和
expires_in保存到Session中,用于调用;