ホームページ  >  記事  >  WeChat アプレット  >  JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセス

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセス

PHPz
PHPzオリジナル
2017-04-04 10:32:401703ブラウズ

1. 初期の WeChat パブリック プラットフォーム

WeChat パブリック プラットフォームは、通常「パブリック アカウント」と呼ばれるもので、かつては「公式プラットフォーム」や「メディア プラットフォーム」と呼ばれていましたが、最終的には「パブリック プラットフォーム」と名付けられました。 WeChatのネーミングから、パブリックプラットフォームは政府関係者やメディアだけが利用するプラットフォームではなく、すべての国民に開かれた統一プラットフォームであることがわかります。

WeChat パブリック プラットフォームのアドレス: https://mp.weixin.qq.com/

WeChat パブリック プラットフォームには、サブスクリプション アカウント、サービス アカウント、ミニ プログラム、エンタープライズ アカウントの 4 つの主要なセクションがあります。 WeChat の 2016 年のオープン コース計画によると、エンタープライズ アカウントは将来エンタープライズ WeChat に統合されるため、主に最初の 3 つの部分について説明します:

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセス

WeChat プラットフォームの 4 つの主要なセクション

簡単な比較最初の 3 つのコースと後続のコースの重要なポイントは次のとおりです:

1. サブスクリプション アカウントとサービス アカウントはどちらも、グループ メッセージを送信する機能を備えた、従来の意味での「パブリック アカウント」です。詳細な違いは公式プラットフォームで確認できます: http://kf.qq.com/faq/140806zARbmm140826M36RJF.html サービスの面では、2 つの開発モデルはまったく同じです。ただし、サービス アカウントはより多くのサービスインターフェイスを使用できますが、サブスクリプション アカウントは「去勢バージョン」のサービス番号である点が異なります。したがって、後続のコースではサービス番号を使用してケースを操作します。

2. WeChatアプレットはもともと「WeChatアプリケーションアカウント」であり、WeChatエコシステムに根ざしたAPPです。 Apple と Google の制限により、「アプリ アカウント」はリリース前に廃止され、適度に機能が骨抜きになった「WeChat ミニ プログラム」に置き換えられました。その操作エクスペリエンスはネイティブ APP に匹敵し、ミニ プログラムは最近人気の開発方向。 Jerry Education の新しい H5 開発コースには、人気のある WeChat ミニ プログラム開発も含まれます。

2. アカウント開発の準備

1. アカウント登録

WeChatパブリックプラットフォームhttps://mp.weixin.qq.comに入り、右上隅をクリックして[サービスアカウント]を選択します「」または「サブスクリプションアカウント」を選択して登録します(サービスアカウントは機関ユーザー登録のみであり、個人ユーザーはサブスクリプションアカウントのみ選択できます)

登録時に一連の情報を入力する必要があります。プロンプトに従って入力するだけですここでは詳細には触れません。

2. テストアカウントの申請

当面アカウントを登録したくない場合、またはサービスアカウントを登録できない場合は、公式テストアカウントの申請を選択できます。アプリケーションのアドレス: http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login クリックして QR コードをスキャンし、サービス アカウントのすべての権限を持つテスト アカウントを取得します。

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセス

テストアカウントインターフェース

3.

開発環境の準備

1. 外部ネットワークマッピングツール

バックエンドにアクセスする場合、WeChatパブリックプラットフォームは正しくアクセスできる外部ネットワークアドレスを提供する必要があります。 WeChat プラットフォームは、バックエンドへの正しいアクセスを提供する必要があります: URL には 2 つの要件があります:

① パブリック ネットワークからアクセスできる必要がある ② ポート 80 を使用する必要がある

上記 2 点を達成するには、次の 2 つを選択できます。 Alibaba Cloud、Baidu Cloud、Tencent Cloud などの外部ネットワーク サーバーを購入するには、すべて良い選択です。サーバーがない場合は、外部ネットワーク マッピング ツールを使用して内部ネットワーク リンクをパブリック ネットワークにマッピングすることを選択できます。ピーナッツ シェル、ngrok、nat123 などのソフトウェアが挙げられます。簡単に Baidu

を検索

してダウンロードします。使用方法を簡単に説明します:

① Ngrock:

dos 環境に入り、ngrock が存在するドライブ文字に切り替え、ngrock8080 と入力して Enter を押します。

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセスngrock操作

Enterを押した後、しばらく待つと、下図の網掛け部分にあるリンクから、ローカルマシン127.0のリンクコンテンツに直接アクセスできます。 .0.1:8080、これは http プロトコルと https プロトコルに対応するアドレスです:

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセスngrock 操作成功インターフェイス

②Peanut シェルと nat123

をインストールできます

ソフトウェアをインストールした後、ソフトウェアで操作します詳細については、Baidu のエクスペリエンスを確認してください: http://jingyan.baidu.com/article/ 363872ec361d3f6e4ba16ff9.html ここでは詳しく説明しませんIV. WeChat パブリック プラットフォームでのデータ インタラクションの原則パブリック ネットワーク アクセス アドレス、私たちが開発したバックエンド コードはパブリック ネットワーク アドレスに配置できます。では、ユーザーはどのようにアクセスするのでしょうか? 私たちのコードはどうなるでしょうか?

WeChat パブリック プラットフォームのデータ対話原理を見てみましょう:

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセス


上の図からわかるように、WeChat パブリック プラットフォームは実際にはブリッジとしてのみ機能し、実際にビジネスを処理し、サービスを提供する場合は、引き続き独自のサーバーまたはパブリック ネットワーク マッピングに配置されます。

次に、自分のコンピューター (サーバー) にバックエンド コードを記述し、マッピング ツールを介してパブリック ネットワークからアクセスできる URL を提供し、この URL を WeChat バックエンドにバインドします。

5. 開発モードへのアクセス

実際の開発プロセスは以下の公式開発ドキュメントを参照できます: https://mp.weixin.qq.com/wiki

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

WeChatに入る パブリックプラットフォームで、左側の[開発 - 基本構成]をクリックし、[サーバー構成]を選択します。構成ページに入ることができます:

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセス

WeChatプラットフォームサーバー構成

その中に:

URL: 前述したバックエンドサーバーのパブリックネットワークアクセスアドレス

トークン: 開発者がカスタマイズした検証パスワード

エンコーディング AES

キー: ランダムな文字列。メッセージの暗号化と復号化方法がセーフ モードを採用している場合、検証が必要です

2. [送信]をクリックすると、WeChat サーバーがメッセージを送信します。リクエストを取得します。上記のアドレスにアクセスし、4 つのパラメーターを同時に渡します:

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセスWeChat Server Get
Request Parameters

署名をチェックすることでリクエストを検証します (検証方法は以下を参照)。この GET リクエストが WeChat サーバーからのものであることが確認された場合は、echo

str パラメータの内容をそのまま返してください。そうすればアクセスが有効になり、開発者になることができます。そうでない場合は、アクセスは失敗します。暗号化/検証プロセスは次のとおりです:

次に、コード操作を実装します。

6. バックグラウンド コードを開発してアクセスします

1. My

Eclipse

を使用して、新しい サーブレット を作成します。サーブレットの doGet メソッドで、上記の 4 つの検証パラメーターを取得します。

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセス 上記の 4 つの検証パラメーターを取得します。

3. 検証メソッドを操作するツール クラスを作成します。

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセス Writeツールクラス

検証手順は、上記[5-2]の3ステップの操作プロセスを参照

検証手順

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセス使用
sha1

暗号化方式↓

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセスsha1暗号化方式

4. サーブレットで検証メソッドを呼び出し、結果を検証します

。検証が成功すると、取得したランダムな文字列 eahostr が元の方法で結果を WeChat プラットフォームに返します:

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセスサーブレット内

この時点で、サーブレットとチェックツールクラスの記述が完了しました。

5. Tomcat を起動し、サーブレットのローカル アドレス (例: localhost:8080/WeiXin/servlet/WeiXinServlet) をパブリック ネットワークにマッピングします。パブリック ネットワーク マッピングを実行するには、上記の 3 番目の部分を参照してください。パブリック ネットワークに正しくアクセスできるかどうかを確認します。

アクセスできるようにコードを公開サーバーに直接置きます。以下のアドレスを取得してください

7. パブリック プラットフォーム バックエンドを構成します

WeChat バックエンド構成関連情報を入力します:

JAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセス

WeChat バックエンド構成関連情報

[送信] をクリックすると、WeChat は Get コマンドをサーブレットに送信し、doGet メソッドを呼び出します。作成した操作の検証を検証します。ランダムな文字列が正常に返された場合、バインディングは成功です。

8. ソースコードの共有

1. サーブレットのソースコード (doGet 部分のみが保持されます):

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr");
PrintWriter out = response.getWriter();
if(CheckUtil.checkSignature(signature, timestamp, nonce)){
//如果校验成功,将得到的随机字符串原路返回
out.print(echostr);
}
}
2. CheckUtil のソースコード (getSha1 暗号化メソッドを直接

コピー可能):

package com.jredu.util;
import java.security.MessageDigest;
import java.util.Arrays;
public class CheckUtil {
public static final String  tooken = "jredu100"; //开发者自行定义Tooken
public static boolean checkSignature(String signature,String timestamp,String nonce){
//1.定义数组存放tooken,timestamp,nonce
String[] arr = {tooken,timestamp,nonce};
//2.对数组进行排序
Arrays.sort(arr);
//3.生成字符串
StringBuffer sb = new StringBuffer();
for(String s : arr){
sb.append(s);
}
りー

以上がJAVAを使用したWeChatパブリックプラットフォームの開発(1) - 環境構築と開発アクセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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