搜尋
首頁微信小程式微信開發PHP微信開發之文本自動回覆介紹

這篇文章PHP微信開發之文本自動回覆介紹的相關資料,有興趣的小伙伴們可以參考一下

#首先,先去微信公眾平台註冊一個帳號(註冊要填的東西挺多的),註冊好之後,登入進去。可以看到左邊的“開發者中心”,開啟開發者中心前好像還要你完善一些資料,按照步驟完善即可。進入開發者中心之後,先去編輯

PHP微信開發之文本自動回覆介紹

修改配置,修改配置的時候,注意:

PHP微信開發之文本自動回覆介紹

URL是你自己的網域下的PHP腳本(往下讀有該腳本的demo),該腳本用於和微信介面對接。例如http://www.example.com/weixin.php 

Token是上述腳本裡的定義的一個常數,例如你的PHP腳本裡定義了: 

define("TOKEN", "my_weixin"); 

 那麼,在填寫Token時,你就填abcdefgh

EncodingAESKey是訊息加密用。你可以自己寫一個43為的數字和字母的組合,也可以選擇“隨機生成”,一般選擇隨機生成即可。

填好之後,儲存(如果儲存時,提示Token驗證失敗,那麼請確認token一致並多點幾次儲存試試)。 

儲存好之後,點選修改設定旁的:「開啟」。

然後,就可以編輯你的PHP腳本了。 (如果你沒有自己的域名,可以使用新浪雲的免費的SAE,並且最好完成實名認證)
 demo的腳本如下:關注該公眾平台(比如訂閱號之後),功能是:輸入hehe則返回hello world!!!如果輸入其他字符,則回傳輸入heeh試試。 


header('content-type:text/html;charset=utf-8');

define("TOKEN", "my_weixin"); //define your token
$wx = new wechatCallbackapiTest();

if($_GET['echostr']){
 $wx->valid(); //如果发来了echostr则进行验证
}else{
 $wx->responseMsg(); //如果没有echostr,则返回消息
}


class wechatCallbackapiTest{

 public function valid(){ //valid signature , option

  $echoStr = $_GET["echostr"];
  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"]; //接收微信发来的XML数据

  //extract post data
 if(!empty($postStr)){
    
   //解析post来的XML为一个对象$postObj
   $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
  
   $fromUsername = $postObj->FromUserName; //请求消息的用户
   $toUsername = $postObj->ToUserName; //"我"的公众号id
   $keyword = trim($postObj->Content); //消息内容
   $time = time(); //时间戳
   $msgtype = 'text'; //消息类型:文本
   $textTpl = "<xml>
  <ToUserName><![CDATA[%s]]></ToUserName>
  <FromUserName><![CDATA[%s]]></FromUserName>
  <CreateTime>%s</CreateTime>
  <MsgType><![CDATA[%s]]></MsgType>
  <Content><![CDATA[%s]]></Content>
  </xml>";

  if($keyword == &#39;hehe&#39;){
    $contentStr = &#39;hello world!!!&#39;;
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);
    echo $resultStr;
    exit();            
   }else{
    $contentStr = &#39;输入hehe试试&#39;;
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);
    echo $resultStr;
    exit();
   }

  }else {
   echo "";
   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;
 }
 }
}

如果發送訊息,系統提示:該公眾平台暫時無法提共服務,請稍後再試。那麼多半是程式碼語法有問題,檢查好語法錯誤再試試。

附:

當新用戶追蹤你的公眾號時,自動回傳訊息:(把這段程式碼加在判斷$keyword之前)。

   if($postObj->MsgType == &#39;event&#39;){ //如果XML信息里消息类型为event
    if($postObj->Event == &#39;subscribe&#39;){ //如果是订阅事件
     $contentStr = "欢迎订阅misaka去年夏天!\n更多精彩内容:http://www.php.cn/";
     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);
     echo $resultStr;
     exit();
    }
   }

以上是PHP微信開發之文本自動回覆介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境