Dengan perkembangan pesat Internet mudah alih, WeChat telah menjadi alat sosial yang sangat diperlukan dalam kehidupan orang ramai. Dalam akaun awam WeChat, fungsi balasan automatik juga merupakan bahagian yang sangat diperlukan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menulis program balasan automatik untuk akaun awam WeChat.
Pertama sekali, anda perlu mempunyai akaun awam WeChat. Jika anda tidak mempunyai satu, anda boleh memohon satu. Kedua, anda juga perlu mempunyai kebolehan asas dalam pengaturcaraan PHP.
Dalam platform awam WeChat, anda perlu mendapatkan kunci API pembangun sebelum anda boleh menggunakan API untuk pemesejan Hantar dan terima. Dalam platform awam WeChat, masukkan pusat pembangun, pilih konfigurasi asas, dan kemudian dapatkan kunci API pembangun anda sendiri.
Berikut ialah contoh kod untuk program balasan automatik ringkas untuk akaun awam WeChat:
<?php //获取开发者API密钥 define("TOKEN", "your_token"); //验证开发者服务器 if (isset($_GET["echostr"])) { $echoStr = $_GET["echostr"]; if ($this->checkSignature()) { echo $echoStr; exit; } } //处理接收到的消息 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)) { $postObj = simplexml_load_string($postStr,'SimpleXMLElement'); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $type = $postObj->MsgType; $content = trim($postObj->Content); //文本消息 if($type == "text") { if($content == "hello") { $msgContent = "您好,欢迎关注我的公众号!"; } else { $msgContent = "您好,我是自动回复机器人,我还在学习中,暂时无法回复您的消息,敬请谅解!"; } $time = time(); $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgContent); echo $resultStr; exit; } } //验证开发者服务器 private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode($tmpArr); $tmpStr = sha1($tmpStr); if ($tmpStr == $signature) { return true; } else { return false; } } ?>
Penjelasan kod:
Tentukan kunci API pembangun
define("TOKEN", "your_token");
Anda perlu menggantikan "token_anda" dengan kunci API pembangun anda sendiri.
Sahkan pelayan pembangun
if (isset($_GET["echostr"])) { $echoStr = $_GET["echostr"]; if ($this->checkSignature()) { echo $echoStr; exit; } }
Apabila platform awam WeChat menghantar permintaan pengesahan kepada pelayan pembangun, pengesahan diperlukan.
Proses mesej yang diterima
$postObj = simplexml_load_string($postStr,'SimpleXMLElement'); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $type = $postObj->MsgType; $content = trim($postObj->Content);
Proses mesej yang diterima daripada platform awam WeChat dan dapatkan jenis mesej dan kandungan mesej.
Pemprosesan mesej teks
if($type == "text") { if($content == "hello") { $msgContent = "您好,欢迎关注我的公众号!"; } else { $msgContent = "您好,我是自动回复机器人,我还在学习中,暂时无法回复您的消息,敬请谅解!"; } $time = time(); $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgContent); echo $resultStr; exit; }
Apabila mesej teks diterima, kandungan balasan dijana berdasarkan kandungan mesej.
Sahkan pelayan pembangun
private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode($tmpArr); $tmpStr = sha1($tmpStr); if ($tmpStr == $signature) { return true; } else { return false; } }
Kaedah untuk mengesahkan pelayan pembangun.
Muat naik kod bertulis ke pelayan dan tetapkan maklumat konfigurasi antara muka dalam platform awam WeChat. Lengkapkan alamat pelayan, kunci API pembangun dan maklumat konfigurasi antara muka dan simpannya.
Dalam akaun rasmi WeChat, hantar mesej ke akaun rasmi Jika program berjalan seperti biasa, ia akan membalas secara automatik dengan yang sepadan kandungan.
Ringkasan
Artikel ini memperkenalkan secara ringkas cara menggunakan PHP untuk menulis program balasan automatik untuk akaun rasmi WeChat. Selepas menulis kod mudah, nyahpepijat dan penggunaan, program balasan automatik ringkas boleh dilaksanakan. Sudah tentu, contoh ini hanyalah program peringkat permulaan Jika anda memerlukan logik perniagaan yang lebih kompleks, anda perlu menulis dan mengembangkan kod itu sendiri.
Atas ialah kandungan terperinci Cara menggunakan PHP untuk menulis program balasan automatik untuk akaun awam WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!