この記事では、通常のメッセージを受信して??受動的に返信するための WeChat 公開アカウントの Java 開発に関する関連情報を主に紹介します。必要な友達はそれを參照してください。
この記事では、WeChat 公開アカウントにアクセスする方法についての説明を終了しました。 WeChat 公開アカウントの最も基本的な機能: 通常のメッセージの受信と返信。通常のメッセージについて言えば、WeChat 公式アカウントによって定義される通常のメッセージとは何ですか? WeChat 開発者ドキュメントで説明されているように、受信される通常のメッセージには次のカテゴリが含まれます:
寫真
メッセージ 3.音聲メッセージ 4.
ビデオ
メッセージ 5. 短いビデオ メッセージ 6. 位置情報メッセージ
7. リンク メッセージ (受動的な返信メッセージ)
1. テキストに返信メッセージ
3. 音聲メッセージに返信
4. ビデオ メッセージに返信
5. 音楽メッセージに返信
6. グラフィック メッセージに返信
実際には
し、受動的にメッセージに返信します。この 2 つのアクションは切り離すことができません。これはインタラクティブなシーンであり、一般的に、パブリック アカウントは受信したメッセージを分析し、対応する応答を返します。もちろん、一部の特殊なビジネスを排除することはできません。
??
受信する 7 つのメッセージの
形式はここにはリストされていません。具體的な形式の定義と 屬性 の説明については、公式ドキュメントを確認してください。形式は非常に単純で、基本的な共通屬性には ToUserName、FromUserName、CreateTime、MsgType、MsgId が含まれており、各タイプには獨自の特別な屬性があります。
これを見ると、メッセージを受信するプロセスは、実際には
のxmlを取得して、そのxmlを分析するプロセスであることがわかります。投稿リクエストの入り口は、前述のように WeChat 公式アカウントにアクセスするアドレスのままですが、公式アカウント全體に対するリクエストはすべてこの入り口を経由しますが、アクセスする場合は get リクエストになります。投稿リクエスト。 XML の処理には Dom4j を使用します。XML の処理コードは次のとおりです。
public static Map parseXml(HttpServletRequest request) throws Exception { // 將解析結(jié)果存儲在HashMap中 Map map = new HashMap(); // 從request中取得輸入流 InputStream inputStream = request.getInputStream(); /* * 讀取request的body內(nèi)容 此方法會導(dǎo)致流讀取問題 Premature end of file. Nested exception: * Premature end of file String requestBody = * inputStream2String(inputStream); System.out.println(requestBody); */ // 讀取輸入流 SAXReader reader = new SAXReader(); Document document = reader.read(inputStream); // 得到xml根元素 Element root = document.getRootElement(); // 得到根元素的所有子節(jié)點 List<Element> elementList = root.elements(); // 遍歷所有子節(jié)點 for (Element e : elementList) map.put(e.getName(), e.getText()); // 釋放資源 inputStream.close(); inputStream = null; return map; } private static String inputStream2String(InputStream is) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); int i = -1; while ((i = is.read()) != -1) { baos.write(i); } return baos.toString(); }メッセージに受動的に返信する方法を説明します。メッセージに返信するには、「テキスト」メッセージを受信した場合はテキストメッセージに返信し、「音聲」メッセージを受信した場合は畫像メッセージに返信します。 「」の場合は音聲メッセージに返信します?!弗鹰钎工螆龊悉膝鹰钎幞氓哗`ジに返信します?!敢魳S」の場合は音楽メッセージに返信します?!笇懻妞去匹攻取工螆龊悉蠈懻妞朔敌扭筏蓼?。そしてテキストメッセージ。
テキスト メッセージへの返信を例に挙げます。
<xml> <ToUserName><![CDATA[發(fā)消息的人,即訂閱者]]></ToUserName> <FromUserName><![CDATA[微信公眾號本身]]></FromUserName> <CreateTime>消息創(chuàng)建時間(整形)</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[消息內(nèi)容]]></Content> </xml>
最初の 2 つの屬性は、受信したメッセージから取得できます。 受信メッセージの形式は次のとおりです。受信メッセージ フォーマットは、応答メッセージの FromUserName です。受信メッセージ フォーマットの FromUserName は、応答メッセージの ToUserName です。
CreateTime は、メッセージによって送信された
です。 MsgType はメッセージの種類で、テキストはテキストです。 Content はメッセージの內(nèi)容です。
各タイプのメッセージに対する具體的な応答は、このタイプの XML 形式コンテンツを構(gòu)築することです。形式は似ていますが、音楽、ビデオ、音聲、グラフィックスの形式は、テキスト メッセージで構(gòu)築される XML コンテンツよりも少し複雑です。 。詳細については公式ドキュメントを參照してください。ここでは詳しく説明しませんが、一目で理解できると思います。
以上がJava を使用して通常のメッセージを受信して??受動的に返信する WeChat 公開アカウントを開発する方法の詳細な紹介の詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)