微信那边的acces_token有效期为7200秒,一天调用2000次,如果程序访问量上来后,会无法获取access_token,请问有什么办法?
网友回复
可以写个定时任务,定时更新token,将新token保存到文件中或redis、数据库中。
<?php $AppID = "123123"; $AppSecret = "123123"; $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$AppID."&secret=".$AppSecret; $result = http_request($url); $tokendata = json_decode($result, 1); if (isset($tokendata['access_token'])) { $dir = __DIR__; //真实路径,crontab命令的php执行在cli模式下,不能正确识别相对路径,所以使用__DIR__ $filename = $dir."/access_token.ini"; create_file($filename, $tokendata['access_token']); } else...
点击查看剩余70%
<?php /** * 获取 access_tonken值 * @param string $token_file 用来存储的文件 * @return access_token */ function getAccessToken($token_file = 'access_token_file') { //处理是否过期问题,将access_token存储到文件 $life_time = 7200; if (file_exists($token_file) && time() - filemtime($token_file) < $life_time) { // 存在有效的access_token 直接返回文件内容 return file_get_contents($token_file); } //接口URL $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->_appid."&secret=".$this->_appsecret; //发送GET请求 $result = _request('get', $url); if (!$result) { return false; } //处理数据 $result_obj = json_decode($result); //写入到文件 file_put_contents($token_file, $result_obj->access_toke...
点击查看剩余70%