热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信tokenticketjsapi_ticketaccess_token获取getAccessTokenget_jsapi_ticket方法

获取jsapi_ticketfunctionget_jsapi_ticket()依赖getAccessToken、https_request{从memcache中获取$mm

 获取jsapi_ticket

function get_jsapi_ticket()//依赖getAccessToken、https_request
{
//从memcache中获取
$mmc = memcache_init(); if($mmc == false){ logger("mc init failed\n"); }

$last_time = memcache_get($mmc,"jsapi_last_time");
$jsapi_ticket = memcache_get($mmc,"ticket");
if(time() > ($last_time + 7200) || empty($jsapi_ticket)){
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".getAccessToken()."&type=jsapi";
$result = https_request($url);

memcache_set(
$mmc,"jsapi_ticket", $result["ticket"]);
memcache_set(
$mmc,"jsapi_last_time", time());

if(empty($result["ticket"])){ echo 'jsapi_ticket null'; die;}
return $result["ticket"];
}
return $jsapi_ticket;
}

 

 

memcache缓存存储用户信息7000秒

php
function getAccessToken($appid,$appsecret)
{
$mem = new CacheMemcache();
$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 = new CacheMemcache();
$mem->set('access_token_'.$appid,$access_token,$expire);
}
}
else
{
$access_token = $acc;
}
return $access_token;
}
?>

 

文件存储access_token

 function getAccessToken() {
// 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;
}

 


推荐阅读
author-avatar
信步老街
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有