ホームページ  >  記事  >  バックエンド開発  >  PHP WeChat 開発: グラフィックとテキストの返信を実装する方法

PHP WeChat 開発: グラフィックとテキストの返信を実装する方法

PHPz
PHPzオリジナル
2023-05-13 15:02:001172ブラウズ

WeChat はソーシャル メディアで最も人気のあるアプリケーションの 1 つとして、多くの企業や開発者の注目を集めています。その中でも、画像とテキストの返信は、WeChat アプリケーションで最も一般的な要件の 1 つです。 WeChat 開発に PHP を使用していて、グラフィックとテキストの返信を実装したい場合は、この記事がこの問題の解決に役立ちます。

1. WeChat パブリック プラットフォームのメッセージ タイプを理解する

PHP でグラフィックとテキストの返信を実装する方法を紹介する前に、まず WeChat パブリック プラットフォームのメッセージ タイプを理解する必要があります。 WeChat パブリック プラットフォームのメッセージ タイプは主に次のとおりです:

1. テキスト メッセージ (テキスト)
2. 画像メッセージ (画像)
3. 音声メッセージ (音声)
4 . ビデオ メッセージ (ビデオ)
5. ショート ビデオ メッセージ (ショート ビデオ)
6. 地理的位置メッセージ (場所)
7. リンク メッセージ (リンク)
8. イベント メッセージ (イベント)

このうち、使用する必要があるのはイベント メッセージとグラフィック メッセージです。

2. イベント メッセージの実装

イベント メッセージとは、ユーザーが公式アカウントで特定の動作を実行した後、公式アカウントがイベント プッシュ メッセージを受信することを指します。これには、フォロー イベント、クリック メニュー イベント、QR コード スキャン イベントなど、さまざまな種類のイベントが含まれます。

PHP では、イベント メッセージを処理するには、まず受信したメッセージを解析してメッセージ タイプを判断し、それからそれに応じて処理する必要があります。コードは次のとおりです:

$postData = $GLOBALS['HTTP_RAW_POST_DATA'];
$postObj = simplexml_load_string($postData, "SimpleXMLElement", LIBXML_NOCDATA);

$MsgType = trim($postObj->MsgType);
if ($MsgType == 'event') {
    $Event = trim($postObj->Event);
    switch ($Event) {
        case 'subscribe'://关注事件
            //TODO 你的处理逻辑
            break;
        case 'unsubscribe'://取消关注事件
            //TODO 你的处理逻辑
            break;
        case 'CLICK'://自定义菜单点击事件
            //TODO 你的处理逻辑
            break;
        case 'VIEW'://自定义菜单跳转事件
            //TODO 你的处理逻辑
            break;
        case 'SCAN'://扫码事件
            //TODO 你的处理逻辑
            break;
        case 'LOCATION'://地理位置事件
            //TODO 你的处理逻辑
            break;
        case 'TEMPLATESENDJOBFINISH'://模板消息发送完成事件
            //TODO 你的处理逻辑
            break;
        default:
            break;
    }
}

3. グラフィック メッセージとテキスト メッセージの実装

イベント メッセージを理解したら、次にグラフィック メッセージとテキスト メッセージの実装に焦点を当てます。グラフィック メッセージングとは、パブリック アカウントが一連のグラフィック メッセージをユーザーに送信することによって情報を送信する方法を指します。 PHP でグラフィック メッセージを実装するには、まず送信するグラフィック情報を準備し、次に WeChat パブリック プラットフォーム インターフェイスを呼び出してデータを XML 形式に変換してから送信する必要があります。コードは次のとおりです。

function sendNews($object, $newsArray)
{
    $itemTpl = "<item>
    <Title><![CDATA[%s]]></Title>
    <Description><![CDATA[%s]]></Description>
    <PicUrl><![CDATA[%s]]></PicUrl>
    <Url><![CDATA[%s]]></Url>
    </item>";

    $itemStr = "";
    foreach ($newsArray as $item) {
        $itemStr .= sprintf($itemTpl, $item['Title'], $item['Description'], $item['PicUrl'], $item['Url']);
    }

    $xmlTpl = "<xml>
     <ToUserName><![CDATA[%s]]></ToUserName>
     <FromUserName><![CDATA[%s]]></FromUserName>
     <CreateTime>%s</CreateTime>
     <MsgType><![CDATA[news]]></MsgType>
     <ArticleCount>%s</ArticleCount>
     <Articles>
     $itemStr</Articles>
     </xml>";

     $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, $time, count($newsArray));

     return $result;
}

上記の関数は、グラフィック メッセージ データを XML 形式に変換して返します。メッセージの種類が異なれば、必要な XML 形式も異なることに注意してください。テキスト メッセージを送信する場合は、メッセージ タイプをテキストに変更し、メッセージ本文を記事からコンテンツに変更する必要があります。

4. グラフィック メッセージの実装手順

1. WeChat パブリック プラットフォームでのインターフェイス アドレスの設定
WeChat パブリック プラットフォームでは、独自のサーバー インターフェイス アドレスをパブリックプラットフォームに接続してください。 WeChat パブリック プラットフォームの開発では、インターフェイス アドレスの構成が最初のステップであり、次のステップに進む前にこのステップを完了する必要があります。インターフェイス アドレスを構成した後、WeChat パブリック プラットフォームのプラットフォーム プロバイダー プラットフォームのインターフェイス テストを通じてテストして、インターフェイスが正常に接続されているかどうかを確認できます。

2. WeChat パブリック プラットフォームによってプッシュされたメッセージを受信する
インターフェイス アドレスの構成が完了したら、WeChat パブリック プラットフォームによってプッシュされたメッセージの受信を開始できます。 WeChat パブリック プラットフォームによってプッシュされたメッセージを受信するには、PHP で simplexml_load_string 関数を使用してメッセージを解析し、対応する操作用オブジェクトに変換する必要があります。

3. 受信メッセージの処理
受信メッセージの処理は、パブリックアカウントに必要な機能に応じて実装できます。画像とテキストの返信機能を実装している場合は、受信したメッセージを判断する必要があり、イベントメッセージの場合は、イベントの種類を判断する必要があり、気になるイベントの場合は、返信する必要があります。対応する画像とテキスト、その他のイベントの場合は何も操作する必要はありません。

4. 結果を WeChat パブリック プラットフォームに送り返す
最後のステップは、処理結果を XML 形式に変換し、WeChat パブリック プラットフォームに送り返すことです。 PHP では、echo ステートメントを使用して結果を直接出力することも、メッセージを送信する関数で結果を返してから出力することもできます。

5. 概要

この記事では、PHP が画像とテキストの返信機能を実装する方法を簡単に紹介します。この記事を通じて、WeChat パブリック プラットフォームによってプッシュされたメッセージを受信する方法、メッセージを解析する方法、メッセージを処理する方法、処理結果を XML 形式に変換して WeChat パブリック プラットフォームに送り返す方法、およびその他の知識ポイントを学ぶことができます。これらの知識ポイントは PHP WeChat 開発者にとって非常に重要です。PHP WeChat を開発している場合、この記事は非常に役立ちます。

以上がPHP WeChat 開発: グラフィックとテキストの返信を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。