加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP定时任务获取微信access_token的示例

发布时间:2022-02-24 13:57:50 所属栏目:PHP教程 来源:互联网
导读:最近开发微信公众平台,公众号调用各接口时都需使用access_token,access_token是公众号的全局唯一接口调用凭据,开发时需要进行妥善保存。 access_token有效期为7200秒 ,重复获取将导致上次获取的access_token失效。 由于微信对获取access_token的api调用
  最近开发微信公众平台,公众号调用各接口时都需使用access_token,access_token是公众号的全局唯一接口调用凭据,开发时需要进行妥善保存。 access_token有效期为7200秒 ,重复获取将导致上次获取的access_token失效。
 
  由于微信对获取access_token的api调用次数做了限制,建议开发者全局存储与更新access_token,频繁刷新access_token会导致api调用受限,影响自身业务。
 
  
  下面我使用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 (!emptyempty($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;  
  } //Cuoxin.com
  
  //生成文件  
  function create_file($filename, $content){  
      $fp = fopen($filename, "w");  
      fwrite($fp, "" . $content);  
      fclose($fp);  
  }
  以上代码中AppID和AppSecret这两个常量是由微信公众平台提供,可以登录到微信公众平台的基本配置里获取。获取到的access_token被保存到文件access_token.php中,注意这个文件内容不要被用户访问到。
  
  这样,我们就可以保证access_token的正常获取和使用,不用频繁的去刷新微信服务器了。


PHP定时任务获取微信access_token的示例

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!