1. 세 가지 유형의 WeChat 공개 계정
URL로 이동: https://mp.weixin.qq.com WeChat에 등록할 때, 필수입니다. 현재 WeChat 공개 계정의 세 가지 유형(구독 계정, 서비스 계정, 기업 계정) 중에서 선택합니다. 차이점은 다음과 같습니다.
더 많이 사용되는 공용 계정은 구독 계정과 서비스 계정입니다. 엔터프라이즈 계정은 일반적으로 동일한 회사의 직원이 통신 및 협업을 위해 사용합니다. 엔터프라이즈 계정은 공개되지 않으며 회사 직원만 구독 계정에 액세스할 수 없습니다. 그리고 서비스 계정은 대중에게 공개됩니다. 예, 누구나 팔로우할 수 있습니다. 구독 계정은 일반적으로 일부 그래픽 정보를 팔로어에게 정기적으로 푸시하는 데 사용되며 기타 쿼리 서비스도 제공할 수 있습니다. 서비스 계정에는 WeChat 결제 기능이 있으므로 일반적으로 상업적 목적으로 사용됩니다. 예를 들어 마이크로몰, 마이크로옥션 등
2. 위챗 개발자 기능을 켜주세요
위챗 공개 계정을 신청하신 후, 위챗 플랫폼에서 개발이 필요하신 경우, 먼저 WeChat 개발자 기능을 활성화해야 합니다. 위챗 개발자 기능을 활성화하려면 인증코드를 작성해야 하며, 접근 가능한 URL이 있어야 합니다. 먼저 WeChat 공개 플랫폼에 로그인하십시오: https://mp.weixin.qq.com/
"개발자 센터"를 클릭하고 "동의함"을 선택한 후 "개발자 되기"를 클릭하십시오.
다음 페이지로 이동하세요.
"구성 항목"을 클릭하세요. URL과 토큰이 포함되어 있습니다. . URL은 열기를 나타냅니다. 개발자 기능을 사용할 때 WeChat 서버는 URL 주소로 가져오기 요청을 보냅니다.
1) 타임스탬프: 타임스탬프
2) 난수: nonce
3) 난수 문자열: echostr
4) 사전에 있는 위 세 매개변수의 값으로 구성된 문자열로 구성된 SHA-1 알고리즘 요약 정보 order: Signature
우리가 달성하고자 하는 것은 채워진 URL의 get 요청 처리 클래스에서 timestamp, nonce, echostr 및 서명 네 가지 매개변수를 얻은 다음 해당 값을 계산하는 것입니다. 타임스탬프, 논스, 토큰으로 사전순으로 구성된 문자열에 대해서도 마찬가지로 SHA-1 알고리즘의 요약 정보는 Signature2이며, Signature2와 시그니처의 값이 동일한지 비교합니다. 동일하면 echostr이 그대로 반환됩니다. WeChat 서버가 echostr을 수신하면 개발자 기능이 성공적으로 활성화됩니다. 여기에 있는 토큰은 위에서 입력할 토큰입니다.
참고: Alipay에 접속한 경우 여기의 인증과 Alipay의 인증 간에 약간의 차이가 있음을 알 수 있습니다. 매개변수와 매개변수 값으로 구성된 키-값 쌍의 키 사전 순서에 따라 정렬되며 문자열 구성은 key1=value1+ & + key2=value2이고 WeChat이 확인에 참여하는 문자열은 value1입니다. + value2 + ...에는 키가 포함되지 않으며 값의 필드 순서에 따라 정렬됩니다.
해당 Java 코드는 다음과 같습니다.
WeChat get 요청을 처리하는 서블릿:
/** * 微信请求处理的核心类 */ public class CoreServlet extends HttpServlet { private static final long serialVersionUID = 4440739483644821986L; /** * 请求校验(确认请求来自微信服务器) */ 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(); // 请求校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败 if (SignUtil.checkSignature(signature, timestamp, nonce)) { out.print(echostr); } out.close(); }
요청 확인 도구 클래스:
package com.sinaapp.wx.util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; import com.sinaapp.wx.config.ParameterConfig; /** * 请求校验工具类 */ public class SignUtil { /** * 校验签名 * * @param signature 微信加密签名 * @param timestamp 时间 * @param nonce 随机字符串 * @return */ public static boolean checkSignature(String signature, String timestamp, String nonce) { String token = ParameterConfig.WX_TOKEN; String[] paramArr = new String[] { token, timestamp, nonce }; Arrays.sort(paramArr); // 对token、timestamp和nonce按字典排序 // 将排序后的结果拼接成字符串 StringBuilder sb = new StringBuilder(paramArr[0]); sb.append(paramArr[1]); sb.append(paramArr[2]); String cipherText = null; try { MessageDigest md = MessageDigest.getInstance("SHA-1"); byte[] digest = md.digest(sb.toString().getBytes()); // 对接后的字符串进行sha1加密 cipherText = byteToStr(digest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } // 将加密后的字符串与微信服务器发来的签名signature进行对比 return cipherText != null ? cipherText.equals(signature.toUpperCase()) : false; } /** * 将字节数组转换为十六进制字符 * * @param byteArray * @return */ private static String byteToStr(byte[] byteArray) { String strDigest = ""; for (int i = 0; i < byteArray.length; i++) { strDigest += byteToHexStr(byteArray[i]); } return strDigest; } /** * 将单个字节转换为十六进制字符 * * @param mByte * @return */ private static String byteToHexStr(byte mByte) { char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; char[] tempArr = new char[2]; tempArr[0] = Digit[(mByte >>> 4) & 0X0F]; // 取一个字节的高4位,然后获得其对应的十六进制字符 tempArr[1] = Digit[mByte & 0X0F]; // 取一个字节的低4位,然后获得其对应的十六进制字符 return new String(tempArr); } }
코드의 String token = ParameterConfig.WX_TOKEN 값은 위에 채워진 토큰과 일치해야 합니다. web.xml에서 서블릿을 구성합니다:
<servlet> <servlet-name>coreServlet</servlet-name> <servlet-class>com.sinaapp.wx.servlet.CoreServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>coreServlet</servlet-name> <url-pattern>/coreServlet</url-pattern> </servlet-mapping>
그런 다음 공용 네트워크에서 액세스할 수 있는 URL 아래에 넣고 위 서블릿의 액세스 주소를 입력합니다. URL에서. 그런 다음 "제출" 버튼을 클릭하면 다음과 같은 프롬프트 메시지가 나타납니다.
이 시점에서 WeChat의 개발자 기능을 성공적으로 켰으며 다음 작업을 수행할 수 있습니다. WeChat 개발을 수행합니다. WeChat 결제에 사용되는 AppID와 AppSecret을 획득했습니다.
참고:
WeChat의 개발 문서 주소는 다음과 같습니다: http://mp.weixin.qq.com/wiki/home/index.html
WeChat 개발자 활성화를 위한 문서는 다음과 같습니다.
WeChat 개발과 개발자가 되는 방법에 대한 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요. !

PHP是一种开源的脚本语言,广泛应用于Web开发和服务器端编程,尤其在微信开发中得到了广泛的应用。如今,越来越多的企业和开发者开始使用PHP进行微信开发,因为它成为了一款真正的易学易用的开发语言。在微信开发中,消息的加密和解密是一个非常重要的问题,因为它们涉及到数据的安全性。对于没有加密和解密方式的消息,黑客可以轻松获取到其中的数据,对用户造成威胁

微信是目前全球用户规模最大的社交平台之一,随着移动互联网的普及,越来越多的企业开始意识到微信营销的重要性。在进行微信营销时,客服服务是至关重要的一环。为了更好地管理客服聊天窗口,我们可以借助PHP语言进行微信开发。一、PHP微信开发简介PHP是一种开源的服务器端脚本语言,广泛运用于Web开发领域。结合微信公众平台提供的开发接口,我们可以使用PHP语言进行微信

在微信公众号开发中,用户标签管理是一个非常重要的功能,可以让开发者更好地了解和管理自己的用户。本篇文章将介绍如何使用PHP实现微信用户标签管理功能。一、获取微信用户openid在使用微信用户标签管理功能之前,我们首先需要获取用户的openid。在微信公众号开发中,通过用户授权的方式获取openid是比较常见的做法。在用户授权完成后,我们可以通过以下代码获取用

随着微信的普及,越来越多的企业开始将其作为营销工具。而微信群发功能,则是企业进行微信营销的重要手段之一。但是,如果只依靠手动发送,对于营销人员来说是一件极为费时费力的工作。所以,开发一款微信群发工具就显得尤为重要。本文将介绍如何使用PHP开发微信群发工具。一、准备工作开发微信群发工具,我们需要掌握以下几个技术点:PHP基础知识微信公众平台开发开发工具:Sub

随着互联网和移动智能设备的发展,微信成为了社交和营销领域不可或缺的一部分。在这个越来越数字化的时代,如何使用PHP进行微信开发已经成为了很多开发者的关注点。本文主要介绍如何使用PHP进行微信开发的相关知识点,以及其中的一些技巧和注意事项。一、开发环境准备在进行微信开发之前,首先需要准备好相应的开发环境。具体来说,需要安装PHP的运行环境,以及微信公众平台提

随着微信成为了人们生活中越来越重要的一个通讯工具,其敏捷的消息传递功能迅速受到广大企业和个人的青睐。对于企业而言,将微信发展为一个营销平台已经成为趋势,而微信开发的重要性也逐渐凸显。在其中,群发功能更是被广泛使用,那么,作为PHP程序员,如何实现群发消息发送记录呢?下面将为大家简单介绍一下。1.了解微信公众号相关开发知识在了解如何实现群发消息发送记录之前,我

ThinkPHP6微信开发指南:快速搭建微信公众号应用引言:微信公众号作为一种重要的社交媒体平台,为个人和企业在市场推广、信息传播等方面提供了很大的机会。在这篇文章中,我们将介绍如何使用ThinkPHP6快速搭建一个微信公众号应用,并且提供一些常用的代码示例。环境准备在开始开发之前,我们首先需要准备好以下环境:PHP7以上版本ThinkPHP6框架微信公众号

随着移动互联网的普及,微信作为一款社交软件,越来越多的人开始使用,并且微信开放平台也给开发者带来了众多的机会。近年来,随着人工智能技术的发展,语音识别技术逐渐成为了移动端开发的热门技术之一。在微信开发中,如何实现语音识别成为很多开发者关注的问题。本文将介绍如何利用PHP开发微信应用实现语音识别功能。一、语音识别原理在介绍如何实现语音识别之前,我们先了解一下语


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
