


前回のエッセイ「WeChat ポータルとアプリケーションの C# 開発 (19) - WeChat エンタープライズ アカウントのメッセージ送信 (テキスト、画像、ファイル、音声、ビデオ、グラフィック メッセージなど)」では、エンタープライズ アカウントのメッセージ送信について紹介しました。公式の特別な声明メッセージは暗号化せずに送信されます。ただし、Web サイトのサーバーであるコールバック サーバーでは、WeChat から送信されるメッセージは暗号化されており、メッセージとイベントを復号化するためにクラス ライブラリを呼び出す必要があります。公式のサンプルが不完全であるため、多くの時間を費やしました。最後に、受信したさまざまなメッセージとイベントが正常に復号化されました。この記事では主に、WeChat エンタープライズ アカウントでのメッセージとイベントの受信、処理、復号化の操作を紹介します。
1. エンタープライズ アカウントのコールバック モードの設定
パブリック アカウントと同様に、WeChat エンタープライズ アカウントで二次開発が必要な場合は、次のインターフェイスに示すように、対応するコールバック パラメーターをバックグラウンドで設定する必要があります。
これらを設定してチェックに合格すると、独自の WeChat アプリケーション サーバーでメッセージを送受信できるようになります。
コールバックメッセージのエントリでは、POSTデータと通常のGETデータを別々に処理する必要があります。GETデータはWeChat独自の検証処理であり、POSTデータはWeChatメッセージの対話的な操作です。
/// <summary> /// 企业号回调信息接口。统一接收并处理信息的入口。 /// </summary> public class corpapi : IHttpHandler { /// <summary> /// 处理企业号的信息 /// </summary> /// <param> public void ProcessRequest(HttpContext context) {
上記では、メッセージを処理するための一般的なアプリケーション ハンドラーを定義しました。
次に、さまざまなメッセージ タイプ (POST、GET メソッド) を分離し、それに応じて処理します。
if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST") { using (Stream stream = HttpContext.Current.Request.InputStream) { Byte[] postBytes = new Byte[stream.Length]; stream.Read(postBytes, 0, (Int32)stream.Length); postString = Encoding.UTF8.GetString(postBytes); } if (!string.IsNullOrEmpty(postString)) { Execute(postString, accountInfo); } } else { Auth(accountInfo); }
2. WeChatコールバックメッセージの検証
以下は、WeChatのコールバックモードと検証URLの手順です。
URL の有効性を確認します
上記の情報を送信すると、企業アカウントは入力された URL に GET リクエストを送信します。GET リクエストには 4 つのパラメーターが含まれます。 企業は取得時に URL デコード処理を行う必要があります。そうでない場合、検証は失敗します。
説明 | 必須ですか? | |
---|---|---|
WeChat暗号化署名、msg_signatureは、企業によって入力されたトークン、リクエスト内のタイムスタンプ、nonceパラメータ、および暗号化されたメッセージを組み合わせます。 body | はい | |
timestamp | は | |
乱数 | は | |
暗号化されたランダムですmsg_encrypt 形式で提供される文字列。 echostr 平文を復号して返す必要があります。random、msg_len、msg、$CorpID は最初の検証に含める必要があります。 |

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

ホットトピック









