ホームページ >Java >&#&チュートリアル >Java を使用してフォーム データの WeChat アクセスおよびメッセージ プッシュ機能を実装する
Java を使用してフォーム データの WeChat アクセスとメッセージ プッシュ機能を実装する
要約:
この記事では、Java プログラミング言語を使用してフォーム データの WeChat アクセスを実装する方法を紹介します。フォームデータ入力とメッセージプッシュ機能。 WeChat公式アカウントプラットフォームが提供するAPIを介して、ユーザーが入力したフォームデータをWeChat公式アカウントに統合し、メッセージプッシュ機能を通じて指定したターゲットにデータを自動送信できます。この記事では、Java を使用して WeChat のデータへのアクセスとメッセージ プッシュ機能を実装するコードを記述する方法を紹介し、対応するコード例を示します。
1. WeChat アクセス設定
2. メッセージを受信して確認する
ユーザーが WeChat 公式アカウントに関連する指示を入力すると、WeChat サーバーは受信したメッセージを事前に設定項目に次の形式で送信します。 POST リクエストサーバーの URL を入力します。メッセージを受信して解析するには、次の関数を実装する Java コードを作成する必要があります。
public class WeChatServlet extends HttpServlet { private static final String TOKEN = "your_token"; protected void doPost(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"); String[] arr = {TOKEN, timestamp, nonce}; //字典排序 Arrays.sort(arr); StringBuilder sb = new StringBuilder(); for (String s : arr) { sb.append(s); } String tempStr = SHA1.encode(sb.toString()); //验证签名 if (tempStr.equals(signature)) { //接收并处理消息 //... } //返回验证结果 PrintWriter out = response.getWriter(); out.print(echostr); out.close(); } }
3. メッセージのプッシュ
ユーザーが送信したメッセージを受信した後、指定されたターゲットにメッセージを自動的にプッシュする必要があります。ここでは認証に access_token を使用し、メッセージのプッシュには WeChat 公式アカウントが提供するメッセージ インターフェイスを使用します。
public class AccessTokenUtil { private static final String APPID = "your_appid"; private static final String APPSECRET = "your_appsecret"; private static String access_token = null; private static long expires_time = 0; public static String getAccessToken() { if (access_token == null || System.currentTimeMillis() >= expires_time) { String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + APPID + "&secret=" + APPSECRET; String result = HttpUtil.sendGet(url); JSONObject jsonObject = JSONObject.parseObject(result); access_token = jsonObject.getString("access_token"); int expires_in = jsonObject.getIntValue("expires_in"); expires_time = System.currentTimeMillis() + (expires_in - 200) * 1000; } return access_token; } }
public class MessageUtil { public static void sendMessage(String openid, String message) { String url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + AccessTokenUtil.getAccessToken(); JSONObject jsonObject = new JSONObject(); jsonObject.put("touser", openid); jsonObject.put("msgtype", "text"); JSONObject text = new JSONObject(); text.put("content", message); jsonObject.put("text", text); String result = HttpUtil.sendPost(url, jsonObject.toJSONString()); } }
4. フォームデータの統合とメッセージプッシュ
public void handleMessage(HttpServletRequest request) { //获取用户输入的表单数据 String name = request.getParameter("name"); String email = request.getParameter("email"); String message = request.getParameter("message"); //整合表单数据 StringBuilder sb = new StringBuilder(); sb.append("姓名:").append(name).append(" "); sb.append("邮箱:").append(email).append(" "); sb.append("留言:").append(message); //将整合后的数据推送给目标 MessageUtil.sendMessage(target_openid, sb.toString()); }
Java プログラミング言語を使用して、フォーム データの WeChat アクセスおよびメッセージ プッシュ機能を実装することで、フォーム データを自動的に入力できます。指定したターゲットにプッシュします。この記事では、対応するコード例を示します。皆様のお役に立てれば幸いです。最後に、メッセージ プッシュが正常に動作するように、定期的に access_token を取得することに注意する必要があります。
以上がJava を使用してフォーム データの WeChat アクセスおよびメッセージ プッシュ機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。