지난 이틀간 위챗 공개계정 개발을 배우고 싶어서 온라인으로 검색해서 연습을 시작했는데, 그 과정에서 여러가지 문제로 인해(설명이 불완전하고, 어떤 글에서는 방법도 모르고 새로운 상수가 뜨기도 했고, 어떻게 해야할지 몰랐습니다.) 어디에 정의되어 있는지, jar 패키지 버전 문제로 인해 하루 동안 고민했습니다.) 여기에 기록하겠습니다.
1. 먼저 Du Niang에서 WeChat 공개 계정을 검색하고 이 페이지로 들어가 등록하세요. (이미 계정이 있는 경우 이 단계를 건너뛰세요.) 그런 다음 Eclipse를 사용하세요. 새 프로젝트를 만들려면 여기에서 웹 프로젝트를 만들고 있습니다. jdk는 1.8이고 tomcat은 8.5입니다.
3. WeChat과 연결을 설정하려면 프로젝트를 만든 후 먼저 새 클래스를 만듭니다. 이름: CheckUtil, 해당 기능은 다음과 같습니다. WeChat에 연결된 확인 도구, 코드는 다음과 같습니다.
import java.security.MessageDigest; import java.util.Arrays; public class CheckUtil { public static final String tooken = "自行定义"; //开发者自行定义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); } //4.sha1加密,网上均有现成代码 String temp = getSha1(sb.toString()); //5.将加密后的字符串,与微信传来的加密签名比较,返回结果 return temp.equals(signature); } public static String getSha1(String str){ if(str==null||str.length()==0){ return null; } char hexDigits[] = {'0','1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f'}; try { MessageDigest mdTemp = MessageDigest.getInstance("SHA1"); mdTemp.update(str.getBytes("UTF-8")); byte[] md = mdTemp.digest(); int j = md.length; char buf[] = new char[j*2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; buf[k++] = hexDigits[byte0 >>> 4 & 0xf]; buf[k++] = hexDigits[byte0 & 0xf]; } return new String(buf); } catch (Exception e) { // TODO: handle exception return null; } } }
4 그런 다음 새 서블릿을 만들고 WeChat에서 GET 요청을 수신하는 doGet 메서드를 다시 작성합니다.
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); 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); } }
6. 돌아가기 운전 후 잠시 기다리면 그림과 같이 음영 처리된 영역에 제공된 링크를 받게 됩니다. 아래 그림은 http 프로토콜과 https 프로토콜에 해당하는 주소인 이 머신의 127.0.0.1:8080 아래 링크 콘텐츠에 직접 액세스할 수 있습니다.
7 위챗 공식 계정 플랫폼에 로그인하세요. 하단에 있는 개발을 클릭하세요. - 기본 구성:
제출 버튼을 클릭하세요. 제출이 성공하면 WeChat이 자체 Backstage에 액세스할 수 있다는 의미입니다.
관련 권장사항:
WeChat 공개 플랫폼 개발을 위한 Java 그래픽 및 텍스트 코드 예시
WeChat 공개 계정 결제 개발(Java) 예시에 대한 자세한 설명
위 내용은 Java+WeChat 공개 계정 개발 프로세스 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!