WeChat 開発者プラットフォーム アクセス ガイド


アクセスガイド



1474540284574497.jpg


アクセスの概要


WeChatパブリックプラットフォーム開発にアクセスするには、開発者は次の手順に従う必要があります:


  1. サーバー構成を入力します
  2. サーバーアドレスの有効性を検証する
  3. インターフェースドキュメントに基づいてビジネスロジックを実装する


以下は、これらの3つのステップの詳細な紹介です。


ステップ 1: サーバー構成を入力します


WeChat パブリック プラットフォームの公式 Web サイトにログインした後、パブリック プラットフォームの公式 Web サイトの開発 - 基本設定ページで、同意事項を確認します。開発者になり、[構成の変更] ボタンをクリックし、サーバー アドレス (URL)、トークン、およびエンコーディング AESKey を入力します。ここで URL は、開発者が WeChat メッセージとイベントを受信するために使用するインターフェイス URL です。開発者はトークンを入力し、署名の生成に使用できます (セキュリティを検証するために、トークンはインターフェイス URL に含まれるトークンと比較されます)。 EncodingAESKey は開発者によって手動で入力されるか、ランダムに生成され、メッセージ本文の暗号化キーおよび復号化キーとして使用されます。

同時に、開発者はメッセージの暗号化と復号化の方法 (平文モード、互換モード、セキュリティ モード) を選択できます。モードの選択とサーバー構成は、送信後すぐに有効になります。開発者は慎重に入力して選択することをお勧めします。暗号化と復号化のデフォルト状態はプレーン テキスト モードです。互換モードとセキュリティ モードを選択するには、関連する暗号化コードと復号化コードを事前に設定する必要があります。


ステップ 2: メッセージが実際に WeChat サーバーから送信されていることを確認します


開発者が情報を送信すると、WeChat サーバーは、入力されたサーバー アドレス URL に GET リクエストを送信します。 GET リクエストには、以下の表に示すパラメータが含まれます。

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




開発者は署名をチェックすることでリクエストを検証します(以下の検証方法があります)。この GET リクエストが WeChat サーバーからのものであることが確認された場合は、echostr パラメーターの内容をそのまま返してください。アクセスが有効になり、開発者になることができます。そうでない場合は、アクセスは失敗します。暗号化/検証プロセスは次のとおりです:

1) 3 つのパラメーターのトークン、タイムスタンプ、ノンスを辞書順に並べ替えます
2) 3 つのパラメーター文字列を sha1 暗号化用の 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 の有効性が正常に検証された後、アクセスによって発効し、開発者になります。パブリック プラットフォーム Web サイトで WeChat 認定を申請できます。認定に成功すると、より多くのビジネス ニーズを満たすために、より多くのインターフェイス権限が付与されます。


開発者になった後、ユーザーが公式アカウントにメッセージを送信したり、カスタムメニューを生成したり、WeChat の支払い注文を生成したりするたびに、開発者が入力したサーバー設定 URL が、開発者は、メッセージへの返信など、独自のビジネス ロジックに基づいてイベントに応答できます。


公式アカウントが各インターフェースを呼び出すと、通常は正しい結果が得られます。具体的な結果は、対応するインターフェースの説明に記載されています。エラーが返された場合、リターンコードに基づいてエラーの原因を問い合わせることができます。


ユーザーが公式アカウントにメッセージを送信すると、公式アカウントが受信するメッセージの送信者は、ユーザーの WeChat アカウントを暗号化した結果である OpenID になります。各ユーザーは、各公式アカウントに固有の OpenID を持ちます。アカウント。


さらに、開発者は多くの場合、複数のプラットフォーム (モバイル アプリケーション、Web サイト、パブリック アカウント) 間でユーザー アカウントを共有し、アカウント システムを統合する必要があるため、WeChat オープン プラットフォームは UnionID メカニズムを提供します。開発者は、OpenID を通じて基本的なユーザー情報を取得できます。開発者が複数のアプリケーション (モバイル アプリケーション、Web サイト アプリケーション、パブリック アカウント) を持っている場合、パブリック アカウントは、ユーザーの一意性を示す WeChat オープン プラットフォーム アカウントにバインドされた後でのみ UnionID を取得します。同じ WeChat オープン プラットフォーム アカウントの下にモバイル アプリケーション、Web サイト アプリケーション、パブリック アカウントが存在する限り、ユーザーの UnionID は一意であるため、ユーザーの基本情報内の UnionID を取得することで区別できます。言い換えれば、同じユーザーは、同じ WeChat オープン プラットフォーム アカウントの異なるアプリケーションに対して同じ UnionID を持ちます。詳細については、WeChat オープン プラットフォームのリソース センター - モバイル アプリケーション開発 - WeChat ログイン - 承認関係インターフェイス コール ガイド - ユーザー個人情報の取得 (UnionID メカニズム) を参照してください。


WeChat 公式アカウントのインターフェースは、それぞれポート 80 とポート 443 をサポートする http:// または https:// で始まる必要があることにも注意してください。