Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour implémenter la fonction de réponse personnalisée des comptes publics

Comment utiliser PHP pour implémenter la fonction de réponse personnalisée des comptes publics

PHPz
PHPzoriginal
2023-09-19 10:09:20821parcourir

Comment utiliser PHP pour implémenter la fonction de réponse personnalisée des comptes publics

Comment utiliser PHP pour implémenter la fonction de réponse personnalisée des comptes publics nécessite des exemples de code spécifiques

Avec le développement rapide de l'Internet mobile, les comptes publics WeChat sont devenus l'une des plateformes importantes permettant aux entreprises, aux particuliers et aux utilisateurs d'interagir . Afin d'offrir une meilleure expérience utilisateur, la fonction de réponse personnalisée est un élément essentiel du développement des comptes officiels. Cet article explique comment utiliser PHP pour implémenter la fonction de réponse personnalisée des comptes publics WeChat et donne des exemples de code spécifiques.

1. Demander un compte de développeur de compte officiel WeChat

Tout d'abord, nous devons demander un compte de développeur de compte officiel WeChat. Inscrivez-vous simplement et postulez sur la plateforme publique WeChat (https://mp.weixin.qq.com/). Une fois la candidature réussie, vous recevrez un AppID et AppSecret.

2. Obtenez l'autorisation de l'interface du compte public WeChat

  1. Créez un compte public sur la plateforme publique WeChat et liez un nom de domaine. Ici, nous supposons que le nom de domaine lié est example.com.
  2. Connectez-vous à la plateforme publique WeChat, ouvrez le Centre de développement, recherchez et cliquez sur « Configuration du serveur » sur la page « Configuration de développement ».
  3. Renseignez les informations de configuration du serveur dans la page "Configuration du serveur" :

    • URL : Renseignez l'adresse de l'interface du serveur, par exemple : http://example.com/api.php
    • Token : Personnalisé jeton de vérification, par exemple :my_token
    • EncodingAESKey : une clé AES générée aléatoirement utilisée pour le cryptage et le déchiffrement des messages. Vous n'avez pas besoin de la remplir, laissez-la simplement vide.
  4. Après avoir soumis les informations de configuration du serveur, WeChat enverra une requête GET à votre serveur pour vérifier la validité de la configuration du serveur. Nous devons recevoir et traiter cette requête GET côté serveur et renvoyer echostr avec une vérification réussie.

3. Traitement des messages et des événements des comptes publics WeChat

Créez un fichier nommé api.php sur le serveur pour traiter les messages et les événements des comptes publics WeChat.

<?php
// 验证服务器配置的有效性
$token = "my_token"; // 与微信公众号后台设置的Token一致
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$echostr = $_GET["echostr"];

$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);

if ($tmpStr == $signature) {
    echo $echostr;
    exit;
}

// 处理接收到的消息和事件
$postStr = file_get_contents("php://input");
if (!empty($postStr)) {
    $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    $msgType = $postObj->MsgType;
    
    // 根据不同的消息类型进行回复
    switch ($msgType) {
        case "text":
            $content = $postObj->Content;
            $responseText = "您发送的消息是:" . $content;
            replyText($postObj, $responseText); // 调用回复文本消息的函数
            break;
        case "event":
            $event = $postObj->Event;
            if ($event == "subscribe") {
                $responseText = "感谢您关注我们的公众号!";
                replyText($postObj, $responseText); // 调用回复文本消息的函数
            }
            break;
        // 其他消息类型的处理
        // ...
    }
}

// 回复文本消息的函数
function replyText($postObj, $content) {
    $fromUsername = $postObj->FromUserName;
    $toUsername = $postObj->ToUserName;
    $time = time();
    
    $textTpl = "<xml>
    <ToUserName><![CDATA[%s]]></ToUserName>
    <FromUserName><![CDATA[%s]]></FromUserName>
    <CreateTime>%s</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[%s]]></Content>
    </xml>";
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $content);
    echo $resultStr;
}
?>

Le code ci-dessus montre comment vérifier la validité de la configuration du serveur et comment gérer les messages texte reçus et les événements d'abonnement. Répondez à différents types de messages.

4. Déployez le serveur

Téléchargez le fichier api.php sur le serveur et assurez-vous que l'URL configurée sur le serveur est cohérente avec l'URL de api.php.

5. Testez la fonction de réponse personnalisée

Maintenant, nous pouvons envoyer un message texte au compte officiel via le compte officiel WeChat ou suivre le compte officiel, puis observer si nous recevons un message de réponse personnalisé.

Résumé :

Cet article présente brièvement comment utiliser PHP pour implémenter la fonction de réponse personnalisée des comptes publics WeChat. En demandant un compte de développeur de compte officiel WeChat, en obtenant les autorisations d'interface du compte officiel WeChat, en traitant les messages et les événements du compte officiel WeChat et en déployant des serveurs, nous pouvons rapidement créer un compte officiel WeChat capable de personnaliser les réponses. Bien entendu, le code ci-dessus n'est qu'un exemple. Les scénarios d'application et les exigences spécifiques peuvent être différents, et les développeurs doivent s'ajuster et optimiser en fonction de la situation réelle. J'espère que cet article vous aidera !

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