PHP定时获取微信access_token(php定时访问url)
admin2352756年前1条评论
最近开辟微信公众平台,公众号调用各接口时都需应用access_token,access_token是公众号的全局惟一接口调用痛处,开辟时需要停止妥善生存。access_token实用期为7200秒,重复获取将以致上次获取的access_token失效。
因为微信对于获取access_token的api调用次数做了限制,发起开辟者全局存储与更新access_token,频仍革新access_token会以致api调用受限,影响自身营业。
那末有甚么好的解决access_token存储以及革新的设施呢?我的设施是:设想事件定时革新获取access_token,而后将access_token生存到效劳器内陆,生存形式能够是文件、数据库或者缓存中。
下面我应用PHP来获取access_token,并生存到内陆文件中。建设一个access.php,代码下列:
- $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".AppID."&secret=".AppSecret;
- $result = http_request($url);
- //天生文件,生存token
- $dir = __DIR__; //实在门路,crontab命令的php实行在cli形式下,不能准确识别相对于门路,以是应用__DIR__
- $filename = $dir."/access_token.php";
- create_file($filename, $result);
- function http_request($url,$data = null){
- $curl = curl_init();
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
- if (!empty($data)){
- curl_setopt($curl, CURLOPT_POST, 1);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
- }
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- $output = curl_exec($curl);
- curl_close($curl);
- return $output;
- }
- //天生文件
- function create_file($filename, $content){
- $fp = fopen($filename, "w");
- fwrite($fp, "" . $content);
- fclose($fp);
- }
以上代码中AppID以及AppSecret这两个常量是由微信公众平台供应,能够登录到微信公众平台的基础配置里获取。获取到的access_token被生存到文件access_token.php中,细致这个文件内容不要被用户访问到。
接下来,咱们配置定时事件,咱们以Linux的CentOS为例,应用crontab配置设想事件。
- /usr/local/bin/php -f /home/web/access.php >> /dev/null 2>&1
以高低令配置了每一隔1小时,即每一小时的第05分钟实行access.php。
如许,咱们就能够保障access_token的失常获取以及应用,不用频仍的去革新微佩效劳器了。
本文链接:https://addon.ciliseo.com/php-ding-shi-huo-qu-wei-xin-accesstoken.html
网友评论
klcnepgr
回复简单实现,PHP轻松获取微信access_token。