백엔드 개발 PHP 튜토리얼 WeChat 공개 계정 개발을 위한 문자 메시지 자동 회신 PHP 코드 개발_php 예

WeChat 공개 계정 개발을 위한 문자 메시지 자동 회신 PHP 코드 개발_php 예

Aug 17, 2016 pm 01:02 PM

본 글의 예시는 참고용으로 PHP WeChat 문자 메시지 자동 응답 코드를 공유합니다.

1. PHP 샘플 코드 다운로드
다운로드 주소 1: http://xiazai.php.net/201608/yuanma/phpwx(php.net).rar
다운로드 주소 2: https://mp.weixin.qq.com/wiki/home/ index.html(개발시작-"접근안내-"PHP 샘플코드 다운로드)

2.wx_sample.php 초기코드

valid();

class wechatCallbackapiTest
{
 public function valid()
 {
 $echoStr = $_GET["echostr"];

 //valid signature , option
 if($this->checkSignature()){
 echo $echoStr;
 exit;
 }
 }

 public function responseMsg()
 {
 //get post data, May be due to the different environments
 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

 //extract post data
 if (!empty($postStr)){
 /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
  the best way is to check the validity of xml by yourself */
 libxml_disable_entity_loader(true);
  $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
 $fromUsername = $postObj->FromUserName;
 $toUsername = $postObj->ToUserName;
 $keyword = trim($postObj->Content);
 $time = time();
 $textTpl = "%s0"; 
 if(!empty( $keyword ))
 {
  $msgType = "text";
  $contentStr = "Welcome to wechat world!";
  $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
  echo $resultStr;
 }else{
  echo "Input something...";
 }

 }else {
 echo "";
 exit;
 }
 }
 
 private function checkSignature()
 {
 // you must define TOKEN by yourself
 if (!defined("TOKEN")) {
 throw new Exception('TOKEN is not defined!');
 }
 
 $signature = $_GET["signature"];
 $timestamp = $_GET["timestamp"];
 $nonce = $_GET["nonce"];
 
 $token = TOKEN;
 $tmpArr = array($token, $timestamp, $nonce);
 // use SORT_STRING rule
 sort($tmpArr, SORT_STRING);
 $tmpStr = implode( $tmpArr );
 $tmpStr = sha1( $tmpStr );
 
 if( $tmpStr == $signature ){
 return true;
 }else{
 return false;
 }
 }
}

?>
로그인 후 복사

3. 응답 메시지 메서드를 호출합니다.
wx_sample에서 $wechatObj->valid를 주석 처리합니다. php 파일(); 아래에 "$wechatObj->responseMsg();"를 추가하세요.

valid();//接口验证
$wechatObj->responseMsg();//调用回复消息方法
class wechatCallbackapiTest
{
 public function valid()
 {
 $echoStr = $_GET["echostr"];

 //valid signature , option
 if($this->checkSignature()){
 echo $echoStr;
 exit;
 }
 }

 public function responseMsg()
 {
 //get post data, May be due to the different environments
 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

 //extract post data
 if (!empty($postStr)){
 /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
  the best way is to check the validity of xml by yourself */
 libxml_disable_entity_loader(true);
  $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
 $fromUsername = $postObj->FromUserName;
 $toUsername = $postObj->ToUserName;
 $keyword = trim($postObj->Content);
 $time = time();
 $textTpl = "%s0"; 
 if(!empty( $keyword ))
 {
  $msgType = "text";
  $contentStr = "Welcome to wechat world!";
  $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
  echo $resultStr;
 }else{
  echo "Input something...";
 }

 }else {
 echo "";
 exit;
 }
 }
 
 private function checkSignature()
 {
 // you must define TOKEN by yourself
 if (!defined("TOKEN")) {
 throw new Exception('TOKEN is not defined!');
 }
 
 $signature = $_GET["signature"];
 $timestamp = $_GET["timestamp"];
 $nonce = $_GET["nonce"];
 
 $token = TOKEN;
 $tmpArr = array($token, $timestamp, $nonce);
 // use SORT_STRING rule
 sort($tmpArr, SORT_STRING);
 $tmpStr = implode( $tmpArr );
 $tmpStr = sha1( $tmpStr );
 
 if( $tmpStr == $signature ){
 return true;
 }else{
 return false;
 }
 }
}

?>
로그인 후 복사

4. 키워드 자동 답글 및 팔로우 답글
$keyword 은 사용자가 WeChat에서 보낸 문자 메시지를 저장합니다.
공식 개발자 문서: https://mp.weixin.qq.com/wiki/home/index.html(메시지 관리-"메시지 수신-이벤트 푸시 수신-"1. 팔로우/언팔로우 이벤트)

팔로우 이벤트와 일반 문자 메시지의 차이점은 두 가지입니다. 하나는 MsgType 값이 event이고, 다른 하나는 추가된 Event 값이 subscribe라는 점입니다. 공식 문서(원본 wx_sample.php)에서는 이 매개변수를 추출하지 않으므로 직접 추출해야 합니다. 두 개의 변수 $msgType 및 $event를 프로그램에 추가합니다.

valid();//接口验证
$wechatObj->responseMsg();//调用回复消息方法
class wechatCallbackapiTest
{
 public function valid()
 {
 $echoStr = $_GET["echostr"];

 //valid signature , option
 if($this->checkSignature()){
 echo $echoStr;
 exit;
 }
 }

 public function responseMsg()
 {
 //get post data, May be due to the different environments
 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

 //extract post data
 if (!empty($postStr)){
 /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
  the best way is to check the validity of xml by yourself */
 libxml_disable_entity_loader(true);
  $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
 $fromUsername = $postObj->FromUserName;
 $toUsername = $postObj->ToUserName;
 $keyword = trim($postObj->Content);
 $time = time();
 $msgType = $postObj->MsgType;//消息类型
 $event = $postObj->Event;//时间类型,subscribe(订阅)、unsubscribe(取消订阅)
 $textTpl = "%s0"; 
  
 switch($msgType){
  case "event":
  if($event=="subscribe"){
  $contentStr = "Hi,欢迎关注海仙日用百货!"."\n"."回复数字'1',了解店铺地址."."\n"."回复数字'2',了解商品种类.";
  } 
  break;
  case "text":
  switch($keyword){
  case "1":
  $contentStr = "店铺地址:"."\n"."杭州市江干艮山西路233号新东升市场地下室第一排."; 
  break;
  case "2":
  $contentStr = "商品种类:"."\n"."杯子、碗、棉签、水桶、垃圾桶、洗碗巾(刷)、拖把、扫把、"
   ."衣架、粘钩、牙签、垃圾袋、保鲜袋(膜)、剪刀、水果刀、饭盒等.";
  break;
  default:
  $contentStr = "对不起,你的内容我会稍后回复";
  }
  break;
 }
 $msgType = "text";
 $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
 echo $resultStr;
 }else {
 echo "";
 exit;
 }
 }
 
 private function checkSignature()
 {
 // you must define TOKEN by yourself
 if (!defined("TOKEN")) {
 throw new Exception('TOKEN is not defined!');
 }
 
 $signature = $_GET["signature"];
 $timestamp = $_GET["timestamp"];
 $nonce = $_GET["nonce"];
 
 $token = TOKEN;
 $tmpArr = array($token, $timestamp, $nonce);
 // use SORT_STRING rule
 sort($tmpArr, SORT_STRING);
 $tmpStr = implode( $tmpArr );
 $tmpStr = sha1( $tmpStr );
 
 if( $tmpStr == $signature ){
 return true;
 }else{
 return false;
 }
 }
}


?>
로그인 후 복사

위 내용은 위챗 공개계정 개발을 위한 문자메시지 자동응답 php코드_php 예시 전체 내용이길 바랍니다. 도움이 필요하시면 PHP 중국어 웹사이트(www.php.cn)에서 더 많은 관련 콘텐츠를 확인하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Xianyu에서 자동 회신을 설정하는 방법 자동 회신을 설정하는 방법 Xianyu에서 자동 회신을 설정하는 방법 자동 회신을 설정하는 방법 Mar 13, 2024 am 10:50 AM

Xianyu는 모든 사람의 요구를 쉽게 충족시킬 수 있습니다. 누구나 여기에서 필요한 물건을 구입할 수 있고, 유휴 품목도 여기에서 판매할 수 있어 매우 비용 효율적입니다. 더 이상 필요하지 않은 유휴 품목. 공간을 확보할 수 있을 뿐만 아니라 돈도 벌 수 있습니다. 가격을 자유롭게 설정할 수 있으며 때로는 가격이 만족스럽지 않고 원하는 경우에도 구매할 수 있습니다. 또한 가격에 대해 이야기하거나 더 자세한 제품 정보를 얻을 것입니다. 지금 회신하지 않으면 고객을 잃을 수 있으므로 일부 자동 회신을 설정하여 모든 사람이 일정 기간 동안 고객을 유지하는 데 효과적으로 도움이 될 수 있습니다. 시간이 매우 유용합니다. 여기 편집기는 자동 응답을 설정하는 방법을 제공합니다.

Scrapy는 WeChat 공개 계정 기사의 크롤링 및 분석을 구현합니다. Scrapy는 WeChat 공개 계정 기사의 크롤링 및 분석을 구현합니다. Jun 22, 2023 am 09:41 AM

Scrapy는 WeChat 공개 계정의 기사 크롤링 및 분석을 구현합니다. WeChat은 최근 몇 년 동안 인기 있는 소셜 미디어 애플리케이션이며, 여기서 운영되는 공개 계정도 매우 중요한 역할을 합니다. 우리 모두 알고 있듯이 WeChat 공개 계정은 정보와 지식의 바다입니다. 왜냐하면 각 공개 계정은 기사, 그래픽 메시지 및 기타 정보를 게시할 수 있기 때문입니다. 이 정보는 언론보도, 학술연구 등 다양한 분야에서 폭넓게 활용될 수 있습니다. 그래서 이 글에서는 Scrapy 프레임워크를 사용하여 WeChat 공개 계정 글을 크롤링하고 분석하는 방법을 소개하겠습니다. Scr

QQ 자동 회신을 설정하는 방법은 무엇입니까? QQ 자동 답장 설정 단계 QQ 자동 회신을 설정하는 방법은 무엇입니까? QQ 자동 답장 설정 단계 Mar 15, 2024 pm 03:13 PM

QQ는 문자, 음성, 영상 등 다양한 커뮤니케이션 방법을 지원할 뿐만 아니라 풍부한 개인화 설정을 갖춘 인기 있는 소셜 네트워킹 소프트웨어입니다. 그중 자동 답장 기능은 매우 실용적인 설정입니다. 바쁘거나 메시지에 제때 답장을 할 수 없을 때 미리 설정된 답장 내용을 친구에게 자동으로 보낼 수 있어 제때 답장하지 못해 당혹감을 느끼는 일이 없습니다. 이런 방식으로 귀하가 바쁘거나 일시적으로 자리를 비울 때 QQ는 자동으로 친구들에게 미리 설정된 답장을 보내므로 귀하는 소셜 재미를 즐기고 다양한 상황에 쉽게 대처할 수 있습니다. QQ 자동 회신을 설정하는 방법은 무엇입니까? QQ 자동 응답 설정 단계 1. 휴대폰 잠금을 해제하고 QQ 애플리케이션을 열고 홈 메시지 페이지에서 왼쪽 상단의 [상태] 아이콘을 가볍게 클릭하거나 [아바타]를 길게 눌러 즉시 입력합니다.

WeChat 공식 계정 인증과 비인증의 차이점은 무엇인가요? WeChat 공식 계정 인증과 비인증의 차이점은 무엇인가요? Sep 19, 2023 pm 02:15 PM

WeChat 공개 계정 인증과 비인증의 차이점은 인증 로고, 기능 권한, 푸시 빈도, 인터페이스 권한 및 사용자 신뢰에 있습니다. 자세한 소개: 1. 인증 로고 인증된 공개 계정은 파란색 V 로고인 공식 인증 로고를 얻게 됩니다. 이 로고는 공개 계정의 신뢰성과 권위를 높이고 사용자가 실제 공식 공개 계정을 더 쉽게 식별할 수 있게 해줍니다. 2. 기능 허가. 인증된 공개 계정은 비인증 공개 계정보다 더 많은 기능과 권한을 갖습니다. 예를 들어, 인증된 공개 계정은 온라인 결제 및 상업 운영 등을 위해 WeChat 결제 기능을 활성화할 수 있습니다.

Outlook 2013에서 자동 회신을 설정하는 방법 - Outlook 2013에서 자동 회신을 설정하는 방법 Outlook 2013에서 자동 회신을 설정하는 방법 - Outlook 2013에서 자동 회신을 설정하는 방법 Mar 05, 2024 pm 02:01 PM

최근 Outlook 2013을 처음 사용하는 많은 새로운 친구들이 Outlook 2013에서 자동 회신을 설정하는 방법을 문의해 왔습니다. 아래에서는 Outlook 2013에서 자동 회신을 설정하는 방법을 알려 드리겠습니다. 아래에서 살펴보겠습니다. 로그인 후 왼쪽 상단의 파일을 클릭하면 다음 인터페이스가 나타납니다. 다음 파일 옵션 인터페이스가 나타나면 [자동 회신]을 클릭하여 자동 회신 설정 인터페이스로 들어갑니다. 기본적으로 이메일 자동 전송이 선택되어 있지 않으며, 다음과 같이 자동 회신 기간을 설정할 수 있습니다. 아래 그림과 같이 최종적으로 복원해야 할 내용을 편집할 수 있습니다. 편집이 완료되면 확인을 클릭한 후 동료에게 이메일을 보내달라고 요청하면 효과를 확인할 수 있습니다.

Python의 실제 크롤러 전투: WeChat 공개 계정 크롤러 Python의 실제 크롤러 전투: WeChat 공개 계정 크롤러 Jun 10, 2023 am 09:01 AM

Python은 강력한 데이터 처리 및 웹 크롤링 기능을 갖춘 우아한 프로그래밍 언어입니다. 디지털 시대에 인터넷은 엄청난 양의 데이터로 가득 차 있으며, 크롤러는 데이터를 얻는 중요한 수단이 되었습니다. 따라서 데이터 분석 및 마이닝에 Python 크롤러가 널리 사용됩니다. 이 기사에서는 Python 크롤러를 사용하여 WeChat 공개 계정 기사 정보를 얻는 방법을 소개합니다. WeChat 공식 계정은 온라인에 기사를 게시하는 인기 있는 소셜 미디어 플랫폼이며 많은 기업과 셀프 미디어의 홍보 및 마케팅을 위한 중요한 도구입니다.

PHP를 사용하여 자동 회신 이메일 기능을 개발하는 방법은 무엇입니까? PHP를 사용하여 자동 회신 이메일 기능을 개발하는 방법은 무엇입니까? Sep 11, 2023 pm 09:51 PM

PHP를 사용하여 자동 회신 이메일 기능을 개발하는 방법은 무엇입니까? 이메일이 널리 사용됨에 따라 이메일에 자동으로 회신하는 기능은 많은 조직과 개인의 일상 업무에 필수적인 기능이 되었습니다. PHP를 사용하여 자동 회신 이메일 기능을 개발하면 시간과 에너지를 절약하고 작업 효율성을 향상시키는 데 도움이 될 수 있습니다. 이 기사에서는 이메일 응답 요구에 더 잘 대응하기 위해 PHP를 사용하여 이메일에 자동으로 응답하는 기능을 개발하는 방법을 소개합니다. 먼저 이메일을 보내고 받을 수 있는 PHP 라이브러리가 필요합니다. PHPMailer는 매우 인기가 있습니다.

ChatGPT Java: 자동 응답 기능 구현 방법 ChatGPT Java: 자동 응답 기능 구현 방법 Oct 25, 2023 am 08:47 AM

ChatGPTJava: 자동 응답 기능을 구현하는 방법, 구체적인 코드 예제가 필요합니다. 자동 응답 기능은 현대 기술의 발전에서 점점 더 중요해지고 있습니다. 온라인 고객 서비스, 챗봇, 소셜 미디어 플랫폼 등 모두 즉각적이고 효율적인 서비스를 제공하기 위해 자동으로 응답할 수 있는 능력이 필요합니다. 이 기사에서는 Java 프로그래밍 언어를 사용하여 자동 응답 기능을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 시작하기 전에 기본 ChatGPT 모델을 구축하는 방법을 이해해야 합니다. ChatGPT는

See all articles