Home  >  Article  >  Backend Development  >  How to use PHP to implement the custom reply function of public accounts

How to use PHP to implement the custom reply function of public accounts

PHPz
PHPzOriginal
2023-09-19 10:09:20822browse

How to use PHP to implement the custom reply function of public accounts

How to use PHP to implement the custom reply function of public accounts requires specific code examples

With the rapid development of the mobile Internet, WeChat public accounts have become a One of the important platforms to interact with users. In order to provide a better user experience, the custom reply function is an essential part of the development of official accounts. This article will introduce how to use PHP to implement the custom reply function of WeChat public accounts and give specific code examples.

1. Apply for a WeChat official account developer account

First, we need to apply for a WeChat official account developer account. Just register and apply on the WeChat public platform (https://mp.weixin.qq.com/). After the application is successful, you will receive an AppID and AppSecret.

2. Obtain the WeChat public account interface permission

  1. Create a public account on the WeChat public platform and bind a domain name. Here we assume that the bound domain name is example.com.
  2. Log in to the WeChat public platform, open the Developer Center, find and click "Server Configuration" on the "Development Configuration" page.
  3. Fill in the server configuration information in the "Server Configuration" page:

    • URL: Fill in the address of the server interface, for example: http://example.com/api. php
    • Token: Customized verification token, for example: my_token
    • EncodingAESKey: A randomly generated AES key used for message encryption and decryption. You can leave it blank.
  4. After submitting the server configuration information, WeChat will send a GET request to your server to verify the validity of the server configuration. We need to receive and process this GET request on the server side and return echostr with successful verification.

3. Processing messages and events from WeChat public accounts

Create a file named api.php on the server to process messages and events from WeChat public accounts.

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

The above code demonstrates how to verify the validity of the server configuration and how to handle received text messages and subscription events. Respond to different message types.

4. Deploy the server

Upload the api.php file to the server, and ensure that the URL configured on the server is consistent with the URL of api.php.

5. Test the custom reply function

Now, we can send a text message to the official account through the WeChat official account or follow the official account, and then observe whether we receive a customized reply message .

Summary:

This article briefly introduces how to use PHP to implement the custom reply function of WeChat public accounts. By applying for a WeChat official account developer account, obtaining WeChat official account interface permissions, processing WeChat official account messages and events, and deploying servers, we can quickly build a WeChat official account that can customize replies. Of course, the above code is just an example. Specific application scenarios and requirements may be different, and developers need to adjust and optimize according to the actual situation. Hope this article is helpful to you!

The above is the detailed content of How to use PHP to implement the custom reply function of public accounts. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn