>백엔드 개발 >PHP 튜토리얼 >PHP 예약 작업을 사용하여 WeChat access_token을 얻는 방법 공유 예

PHP 예약 작업을 사용하여 WeChat access_token을 얻는 방법 공유 예

墨辰丷
墨辰丷원래의
2018-06-01 10:16:062099검색

이 글에서는 주로 PHP 예약 작업으로 WeChat access_token을 얻는 방법을 소개합니다. CentOS에서 컬 및 crontab 설정 예약 작업을 기반으로 access_token을 동적으로 가져오는 PHP의 관련 작업 기술이 필요한 친구가 참고할 수 있습니다.

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가 1시간마다, 즉 매시간 05분에 실행되도록 설정합니다.

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

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장 사항:

php array_merge_recursive 배열 병합

PHP XML 및 배열 변환 예제 상세

XML 콘텐츠 수정 및 삭제를 위한 PHP 예제

위 내용은 PHP 예약 작업을 사용하여 WeChat access_token을 얻는 방법 공유 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.