PHP 예약 작업으로 WeChat access_token을 얻는 방법

高洛峰
풀어 주다: 2023-03-03 17:42:02
원래의
1388명이 탐색했습니다.

이 기사의 예에서는 PHP 예약 작업으로 WeChat access_token을 얻는 방법을 설명합니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.

WeChat access_token은 개발 중에 약간 다를 수 있습니다. 여기서는 PHP 예약 작업으로 WeChat access_token을 얻는 방법을 소개합니다.

WeChat 공개 플랫폼이 최근 개발되었습니다. 공개 계정은 각 인터페이스를 호출할 때 access_token을 사용해야 합니다. Access_token은 공개 계정의 자격 증명을 호출하는 전역적으로 고유한 인터페이스이며 개발 중에 적절하게 저장되어야 합니다. access_token은 7200초 동안 유효합니다. 반복적으로 획득하면 마지막 access_token이 무효화됩니다.

WeChat은 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은 WeChat 공개 플랫폼에서 제공되며 WeChat 기본 구성에 로그인하여 얻을 수 있습니다. 공개 플랫폼. 획득한 access_token은 access_token.php 파일에 저장됩니다. 이 파일의 내용은 사용자가 접근해서는 안 됩니다.

다음으로 예약된 작업을 설정합니다. Linux CentOS를 예로 들어 crontab을 사용하여 예약된 작업을 설정합니다.

5 * * * * /usr/local/bin/php -f /home/web/access.php >> /dev/null 2>&1
로그인 후 복사

위 명령은 access.php가 매시간, 즉 매시 05분에 실행되도록 설정합니다.

이러한 방식으로 WeChat 서버를 자주 새로 고치지 않고도 access_token의 정상적인 획득 및 사용을 보장할 수 있습니다.

이 글이 PHP 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.

PHP 예약 작업으로 WeChat access_token을 얻는 방법에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿