Maison  >  Article  >  développement back-end  >  Comment développer PHP sur le compte officiel WeChat

Comment développer PHP sur le compte officiel WeChat

WBOY
WBOYoriginal
2023-10-27 14:55:551300parcourir

Comment développer PHP sur le compte officiel WeChat

Comment développer PHP sur le compte officiel WeChat

Le compte officiel WeChat est devenu une plateforme sociale très populaire, et de nombreuses entreprises et particuliers espèrent se développer sur le compte officiel WeChat pour attirer plus d'utilisateurs et de fans. En tant que langage de programmation back-end largement utilisé, PHP peut également être utilisé dans le développement de comptes publics WeChat. Cet article explique comment utiliser PHP pour développer des comptes publics WeChat et fournit des exemples de code spécifiques.

1. Demander un compte de développeur de compte officiel WeChat
Avant de développer un compte officiel WeChat, vous devez d'abord demander un compte de développeur de compte officiel WeChat. Inscrivez-vous et postulez sur la plateforme publique WeChat (https://mp.weixin.qq.com/), et suivez les directives pour terminer la vérification du compte et la demande de compte public. Une fois la candidature réussie, vous recevrez l'AppID et l'AppSecret d'un compte public. Ce sont des informations clés pour le développement.

2. Configurer l'environnement du serveur
Étant donné que le développement des comptes publics WeChat nécessite une interaction avec le serveur, un environnement de serveur capable de recevoir et de traiter les demandes doit être configuré. Ce qui suit est un code PHP simple qui peut être utilisé pour recevoir des demandes de vérification du serveur WeChat et renvoyer les résultats de la vérification.

<?php
define("TOKEN", "your_token");

$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {
    $wechatObj->valid();
} else {
    $wechatObj->responseMsg();
}

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;
        }
    }

    public function responseMsg()
    {
        // 接收和处理消息的逻辑
        // 这里可以根据不同的消息类型进行处理,比如文本消息、图片消息、事件消息等
        // 下面是一个处理文本消息的示例
        $postStr = file_get_contents("php://input");
        if (!empty($postStr)) {
            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
            $fromUsername = $postObj->FromUserName;
            $toUsername = $postObj->ToUserName;
            $keyword = trim($postObj->Content);
            $time = time();

            $textTpl = "<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                        </xml>";

            $msgType = "text";
            $contentStr = "欢迎关注微信公众号";
            $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
            echo $resultStr;
        }
    }
}
?>

Le code ci-dessus définit une classe nommée wechatCallbackapiTest, qui contient des méthodes de vérification des signatures et de traitement des messages. Dans la méthode valide, l'exactitude de la signature est vérifiée en fonction des paramètres transmis. Si la vérification réussit, la chaîne echostr est générée et renvoyée au serveur WeChat pour vérification. Dans la méthode ResponseMsg, différents traitements peuvent être effectués en fonction du contenu du message texte, et le message correspondant peut être renvoyé à l'utilisateur.

3. Interagissez avec la plateforme publique WeChat
Grâce aux étapes ci-dessus, nous pouvons désormais finaliser la réception et le traitement des demandes du serveur WeChat. Ensuite, nous devons lier notre serveur à la plateforme publique WeChat pour assurer l'interopérabilité des messages. Dans le centre de développement de la plateforme publique WeChat, renseignez l'URL et le jeton configurés pour le serveur, puis cliquez sur Soumettre. Le serveur WeChat enverra une demande de vérification à notre serveur. Notre serveur doit vérifier selon le code précédent et renvoyer le résultat de la vérification. Après avoir réussi la vérification, vous pouvez interagir avec le compte public WeChat dans des messages en temps réel.

4. Traitement des messages utilisateur
Dans la méthode ResponseMsg, nous pouvons le traiter en fonction de différents types de messages et renvoyer le message correspondant à l'utilisateur. Ce qui suit est un exemple simple de traitement de messages texte. En supposant que le contenu du message envoyé par l'utilisateur est « Bonjour », alors « Bienvenue pour suivre le compte officiel WeChat » est renvoyé.

$msgType = "text";
$contentStr = "欢迎关注微信公众号";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;

Dans le code ci-dessus, en définissant les variables $msgType et $contentStr, vous pouvez spécifier le type et le contenu du message renvoyé. Utilisez ensuite la fonction sprintf pour transmettre la variable dans le modèle de message $textTpl, générer le message de réponse final $resultStr et le transmettre à l'utilisateur via echo.

Résumé
Grâce aux étapes ci-dessus, nous pouvons utiliser PHP pour développer des comptes publics WeChat et réaliser une interaction de message en temps réel avec les utilisateurs. Bien entendu, le code ici n’est qu’un exemple simple. Dans le développement réel, il doit être modifié et étendu de manière appropriée en fonction des besoins spécifiques. J'espère que l'introduction et les exemples de code de cet article pourront être utiles à tous ceux qui développent PHP sur les comptes publics WeChat.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn