微信 getAccessToken方法详解及实例
memcache缓存存储用户信息7000秒
<?php
functiongetAccessToken($appid,$appsecret)
{
$mem=newCacheMemcache();
$acc=$mem->get('access_token_'.$appid);
if(!$acc)
{
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
$result=https_request($url);
$jsoninfo=json_decode($result,true);
$access_token=$jsoninfo['access_token'];
if($access_token)
{
$expire=time()+7000;
$mem=newCacheMemcache();
$mem->set('access_token_'.$appid,$access_token,$expire);
}
}
else
{
$access_token=$acc;
}
return$access_token;
}
?>
文件存储access_token
functiongetAccessToken(){
//access_token应该全局存储与更新,以下代码以写入到文件中做示例
$data=json_decode(file_get_contents("access_token.json"));
if($data->expire_time<time()){
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";
$res=json_decode($this->httpGet($url));
$access_token=$res->access_token;
if($access_token){
$data->expire_time=time()+7000;
$data->access_token=$access_token;
$fp=fopen("access_token.json","w");
fwrite($fp,json_encode($data));
fclose($fp);
}
}else{
$access_token=$data->access_token;
}
return$access_token;
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!