WeChat ミニ プログラム API アクセス ガイド


アクセスの概要


WeChat ミニ プログラム メッセージング サービスにアクセスするには、開発者は次の手順に従う必要があります:

1. サーバー設定を入力します

2. ビジネス ロジックを実装します。インターフェイスドキュメントに基づいて

これらの 3 つのステップを以下で詳しく紹介します。

ステップ 1: サーバー設定を入力します

WeChat ミニ プログラム公式 Web サイトにログインした後、管理者はミニ プログラム公式 Web サイトの「設定 - メッセージ サーバー」ページで QR コードをスキャンしてメッセージ サービスを有効にします、サーバー アドレス (URL)、トークン、EncodingAESKey を入力します。

URL は、開発者が WeChat メッセージとイベントを受信するために使用するインターフェイス URL です。開発者はトークンを入力し、署名の生成に使用できます (セキュリティを検証するために、トークンはインターフェイス URL に含まれるトークンと比較されます)。 EncodingAESKey は開発者によって手動で入力されるか、ランダムに生成され、メッセージ本文の暗号化キーおよび復号化キーとして使用されます。

同時に、開発者はメッセージの暗号化と復号化の方法 (平文モード、互換モード、セキュリティ モード) を選択できます。メッセージのデータ形式は、XML 形式または JSON 形式から選択できます。暗号化方式のデフォルト状態はクリアフォーマット、データフォーマットのデフォルト状態はXMLフォーマットです。

モードの選択とサーバー構成は、送信後すぐに有効になります。開発者は慎重に入力して選択することをお勧めします。暗号化方式とデータ形式を切り替えるには、事前に関連するコードを設定する必要があります。詳細については、メッセージの暗号化と復号化の手順を参照してください。

1482806614846296.pngステップ 2: メッセージが実際に WeChat サーバーから送信されたものであることを確認します

開発者が情報を送信すると、WeChat サーバーは、示されているように、入力されたサーバー アドレス URL に GET リクエストを送信します。次の表で:

Parameterssignatureタイムスタンプノンスechostr

開発者は署名をチェックすることでリクエストを検証します (検証方法は以下にリストされています)。この GET リクエストが WeChat サーバーからのものであることが確認された場合は、echostr パラメーターの内容をそのまま返してください。アクセスが有効になり、開発者になることができます。そうでない場合は、アクセスは失敗します。暗号化/検証プロセスは次のとおりです。 1. 3 つのパラメーターのトークン、タイムスタンプ、ノンスを辞書順に並べ替えます。 2. SHA1 暗号化用に 3 つのパラメーター文字列を 1 つの文字列に結合します。 3. 開発者は、署名比較で暗号化された文字列を取得できます。リクエストが WeChat からのものであること

署名を検証するための PHP サンプル コード:

private function checkSignature()
{
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];

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

    if( $tmpStr == $signature ){
        return true;
    }else{
        return false;
    }
}

ステップ 3: インターフェイス ドキュメントに基づいてビジネス ロジックを実装する

URL の有効性が正常に検証されると、アクセスが有効になり、開発者。この時点で、ユーザーがミニ プログラム カスタマー サービスにメッセージを送信するか、セッションに入ると、開発者が入力したサーバー構成 URL は WeChat サーバーによってプッシュされたメッセージとイベントを取得し、開発者は次に従って応答できます。独自のビジネスロジック。

開発者が入力する URL は、それぞれポート 80 とポート 443 をサポートする http:// または https:// で始まる必要があることにも注意してください。

Description
WeChat 暗号化署名は、開発者によって入力されたトークン パラメーターと、リクエスト内のタイムスタンプ パラメーターおよび nonce パラメーターを組み合わせます。
タイムスタンプ
乱数
ランダム文字列