Utilisez Java pour implémenter les fonctions d'accès WeChat et de transmission de messages pour les données de formulaire
Résumé :
Cet article présente comment utiliser le langage de programmation Java pour implémenter les fonctions d'accès WeChat et de transmission de messages pour les données de formulaire. Grâce à l'API fournie par la plateforme de compte officiel WeChat, nous pouvons intégrer les données du formulaire remplies par les utilisateurs dans le compte officiel WeChat et envoyer automatiquement les données à la cible désignée via la fonction de transmission de messages. Cet article expliquera comment utiliser Java pour écrire du code afin d'implémenter l'accès WeChat aux fonctions d'envoi de données et de messages, et donnera des exemples de code correspondants.
1. Configuration de l'accès WeChat
2. Recevoir et vérifier les messages
Lorsque l'utilisateur saisit les instructions pertinentes dans le compte officiel WeChat, le serveur WeChat enverra le message reçu sous la forme d'une requête POST à l'URL du serveur que nous avons renseignée à l'avance dans l'élément de configuration. Afin de recevoir et d'analyser les messages, nous devons écrire du code Java pour implémenter les fonctions suivantes :
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. Message push
Après avoir reçu le message envoyé par l'utilisateur, nous devons automatiquement pousser le message vers la cible spécifiée. Ici, nous utilisons access_token pour l'authentification et utilisons l'interface de message fournie par le compte officiel WeChat pour l'envoi de messages.
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. Intégration des données du formulaire et envoi des messages
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()); }
Conclusion :
En utilisant le langage de programmation Java pour implémenter la fonction d'accès WeChat et de transmission de messages des données du formulaire, nous pouvons automatiquement transmettre les données du formulaire remplies par l'utilisateur vers la cible spécifiée. Cet article donne des exemples de code correspondants, j'espère qu'il sera utile à tout le monde. Enfin, vous devez veiller à obtenir régulièrement access_token pour assurer le fonctionnement normal du push de message.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!