PHP로 간단한 WeChat 문자 커뮤니케이션을 구현하는 방법

PHPz
풀어 주다: 2023-04-18 13:54:19
원래의
537명이 탐색했습니다.

WeChat의 인기로 인해 점점 더 많은 애플리케이션이 WeChat의 개방형 인터페이스를 사용하여 비즈니스 로직을 개발해야 합니다. 이 기사에서는 PHP를 사용하여 간단한 WeChat 문자 통신 기능을 구현하는 방법을 소개합니다.

1. 준비

  1. 개발자 계정 등록 및 애플리케이션 만들기

WeChat 공개 플랫폼 개발 페이지에 들어가기 전에 WeChat 계정과 인증된 공식 계정이 있어야 합니다. 공용 계정을 생성한 후 "개발-기본 구성" 페이지로 이동하여 공용 계정의 AppID 및 AppSecret을 획득하는 동시에 "서버 구성"에서 개발자 모드 URL 및 토큰을 설정해야 합니다.

  1. 필요한 PHP 라이브러리 설치

PHP를 사용하여 WeChat 통신을 구현하려면 PHP의 컬 확장 라이브러리와 simplexml 확장 라이브러리를 설치해야 합니다. Linux 시스템에서는 sudo apt-get install php-curl php-simplexml 명령을 사용하여 설치합니다.

  1. 개발 환경 구축

개발 환경을 구축하려면 코드 편집기를 사용하세요. PHPStorm 또는 Sublime Text를 사용하는 것이 좋습니다. 코드에 사용된 URL과 토큰은 WeChat 공식 계정의 구성과 일치해야 합니다.

2. 위챗 사용자가 보낸 문자 메시지 받기

URL과 토큰은 위챗 공식 계정의 "서버 구성"에서 구성해야 하며, URL은 우리가 작성한 PHP 메시지 처리 프로그램을 가리키며, 토큰은 인증입니다. URL에 해당합니다.

문자 메시지 수락 및 처리 과정은 다음과 같습니다.

  1. 메시지가 실제로 위챗 서버에서 전송되었는지 확인하세요

사용자가 공식 계정으로 메시지를 보내면 위챗 서버에서 해당 메시지를 다음 사용자에게 보냅니다. 미리 입력한 URL입니다. "서버 구성"에서 "메시지 암호화 전 메시지 수신 및 XML 인쇄" 옵션이 활성화된 경우 XML 파일이 페이지에 즉시 인쇄됩니다. 다음 코드는 메시지가 WeChat 서버에서 왔는지 확인하는 데 사용되는 함수입니다.

define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET['echostr'])) {
$wechatObj->responseMsg();
} else {
$wechatObj->valid();
}
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
if ($this->checkSignature()) {
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr == $signature) {
return true;
} else {
return false;
}
}
}
로그인 후 복사

위 코드의 논리는 매우 간단합니다. 이 PHP 핸들러에 액세스할 때 echostr 매개변수로 URL에 액세스하면 valid() 함수가 실행됩니다. 이 함수에서는 서명의 값이 적법한지 판단하고, 적법한 경우 echostr의 값을 반환합니다. 액세스된 URL에 echostr 매개변수가 없으면 responseMsg() 함수가 직접 실행됩니다.

  1. 문자 메시지에 답장하기

문자 메시지에 답장하려면 WeChat 공식 계정의 "서버 구성"에서 URL과 토큰을 구성해야 합니다. URL은 우리가 작성한 PHP 핸들러를 가리키며, 토큰은 인증입니다. URL에 해당합니다.

private function receiveText($postObj)
{
$content = "欢迎您关注XX公司官方微信公众号,我们会竭诚为您服务!";
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$time = time();
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $content);
echo $resultStr;
}
로그인 후 복사

위 코드의 receiveText 함수는 사용자가 보낸 문자 메시지를 수신하고 고정된 환영 텍스트로 답장할 수 있습니다. 비즈니스 요구 사항에 따라 답장의 텍스트 내용을 변경할 수 있습니다.

3. 요약

본 글에서는 PHP를 사용하여 위챗 문자 커뮤니케이션 기능을 구현하는 방법, 즉 사용자가 보낸 문자 메시지에 답장하는 방법을 간략하게 소개합니다. 실제 애플리케이션에서는 비즈니스 요구에 따라 보다 복잡한 비즈니스 로직을 개발하고 사용자 정의할 수 있습니다. 완전한 WeChat 공개 계정 비즈니스 로직 구현에는 PHP, MySQL 및 기타 기술의 포괄적인 사용이 필요한 메뉴, 응답 메시지 및 이벤트가 포함됩니다.

위 내용은 PHP로 간단한 WeChat 문자 커뮤니케이션을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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