Maison >développement back-end >tutoriel php >Comment utiliser PHP pour écrire un programme de réponse automatique pour les comptes publics WeChat
Avec le développement rapide de l'Internet mobile, WeChat est devenu un outil social indispensable dans la vie des gens. Dans les comptes publics WeChat, la fonction de réponse automatique est également un élément indispensable. Cet article explique comment utiliser PHP pour écrire un programme de réponse automatique pour les comptes publics WeChat.
Tout d'abord, vous devez avoir un compte public WeChat. Si vous n’en avez pas, vous pouvez en demander un. Deuxièmement, vous devez également avoir des compétences de base en programmation PHP.
Dans la plateforme publique WeChat, vous devez obtenir la clé API du développeur avant de pouvoir utiliser l'API pour envoyer et recevoir des messages. Sur la plateforme publique WeChat, accédez au centre de développement, sélectionnez la configuration de base, puis obtenez votre propre clé API de développeur.
Ce qui suit est un exemple de code pour un simple programme de réponse automatique de compte public 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; } } ?>
Explication du code :
Définissez la clé API du développeur
define("TOKEN", "your_token");
Vous devez remplacer "votre_token" par vous-même Clé API du développeur.
Vérifier le serveur développeur
if (isset($_GET["echostr"])) { $echoStr = $_GET["echostr"]; if ($this->checkSignature()) { echo $echoStr; exit; } }
Lorsque la plateforme publique WeChat envoie une demande de vérification au serveur développeur, une vérification est requise.
Traitez le message reçu
$postObj = simplexml_load_string($postStr,'SimpleXMLElement'); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $type = $postObj->MsgType; $content = trim($postObj->Content);
Traitez le message reçu de la plateforme publique WeChat et obtenez le type de message et le contenu du message.
Traitement des messages texte
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; }
Lorsqu'un message texte est reçu, un contenu de réponse est généré en fonction du contenu du message.
Vérifier le serveur de développeur
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; } }
Méthode pour vérifier le serveur de développeur.
Téléchargez le code écrit sur le serveur et définissez les informations de configuration de l'interface sur la plateforme publique WeChat. Complétez l'adresse du serveur, la clé API du développeur et les informations de configuration de l'interface, puis enregistrez-les.
Dans le compte officiel WeChat, envoyez un message au compte officiel Si le programme fonctionne normalement, il répondra automatiquement avec le contenu correspondant.
Résumé
Cet article présente brièvement comment utiliser PHP pour écrire un programme de réponse automatique pour les comptes publics WeChat. Après une simple écriture de code, un débogage et un déploiement, un simple programme de réponse automatique peut être implémenté. Bien entendu, cet exemple n'est qu'un programme d'entrée de gamme. Si vous avez besoin d'une logique métier plus complexe, vous devez écrire et développer le code vous-même.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!