WeChat 개발자 플랫폼 액세스 가이드


액세스 가이드



1474540284574497.jpg

#🎜🎜 #

액세스 개요


WeChat 공개 플랫폼 개발에 액세스하려면 개발자는 다음 단계를 따라야 합니다.

#🎜🎜 ## 🎜🎜#


서버 구성을 입력하세요

  1. 서버 유효성 확인 주소

  2. 인터페이스 문서 기반 비즈니스 로직 구현

  3. #🎜 🎜#
다음은 이 3단계에 대한 자세한 소개입니다.


첫 번째 단계: 서버 구성 입력


위챗 공개 플랫폼 공식 홈페이지, 공개 플랫폼 공식 홈페이지 개발-기본 설정 페이지에서 개발자가 되기 위한 프로토콜을 확인하고 "구성 수정" 버튼을 클릭한 후 서버 주소(URL)를 입력하고, 토큰 및 인코딩AESKey. URL은 개발자가 WeChat 메시지 및 이벤트를 수신하는 데 사용하는 인터페이스입니다. 토큰은 개발자가 작성하고 서명을 생성하는 데 사용할 수 있습니다. 보안을 확인하기 위해 토큰은 인터페이스 URL에 포함된 토큰과 비교됩니다. EncodingAESKey는 개발자가 수동으로 입력하거나 임의로 생성되며 메시지 본문 암호화 및 암호 해독 키로 사용됩니다.

동시에 개발자는 메시지 암호화 및 암호 해독 방법(일반 텍스트 모드, 호환성 모드 및 보안 모드)을 선택할 수 있습니다. 모드 선택 및 서버 구성은 제출 후 즉시 적용됩니다. 개발자는 신중하게 작성하고 선택하는 것이 좋습니다. 암호화 및 복호화의 기본 상태는 일반 텍스트 모드입니다. 호환 모드 및 보안 모드를 선택하려면 관련 암호화 및 복호화 코드를 미리 구성해야 합니다.

2단계: 메시지가 실제로 WeChat 서버에서 전송되었는지 확인# 🎜🎜#

개발자가 정보를 제출한 후 WeChat 서버는 채워진 서버 주소 URL로 GET 요청을 보냅니다. GET 요청은 다음 표에 표시된 매개변수를 전달합니다.


# 🎜🎜#

#🎜 🎜# signature WeChat 암호화 서명, 서명은 개발자가 입력한 토큰 매개변수와 요청의 타임스탬프 매개변수 및 nonce 매개변수를 결합합니다.#🎜 🎜 #임의의 숫자echostr임의의 문자열



개발자는 서명을 확인하여 요청을 확인합니다(아래 확인). 방법). 본 GET 요청이 WeChat 서버에서 오는 것이 확인되면 echostr 매개변수 내용을 그대로 반환해 주셔야 접속이 적용되어 개발자가 되며, 그렇지 않으면 접속이 실패하게 됩니다. 암호화/인증 과정은 다음과 같습니다:

매개변수설명
timestamptimestamp
nonce
#🎜 🎜 #3) 개발자가 얻은 암호화된 문자열을 서명과 비교하여 요청이 WeChat에서 온 것임을 나타낼 수 있습니다


서명 확인을 위한 PHP 샘플 코드:


private function checkSignature()
{
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];
        
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}


#🎜 🎜#


3단계: 인터페이스 문서를 기반으로 비즈니스 로직 구현



URL 확인에 성공한 후 유효성 즉, 액세스 권한이 적용되고 개발자가 됩니다. 공개 플랫폼 웹사이트에서 WeChat 인증을 신청할 수 있습니다. 인증에 성공하면 더 많은 비즈니스 요구 사항을 충족할 수 있는 더 많은 인터페이스 권한을 받게 됩니다.


개발자가 된 후, 사용자가 공식 계정으로 메시지를 보내거나, 맞춤 메뉴를 생성하거나, 위챗 결제 주문을 생성할 때마다, 개발자가 입력한 서버 구성 URL은 WeChat 서버에서 푸시한 메시지와 이벤트를 받게 됩니다. 개발자는 메시지에 대한 응답 등 자체 비즈니스 로직에 따라 응답할 수 있습니다.


공용 계정이 각 인터페이스를 호출하면 일반적으로 올바른 결과를 얻을 수 있으며, 구체적인 결과는 해당 인터페이스 설명에서 확인할 수 있습니다. 오류가 반환되면 반환 코드를 기반으로 오류의 원인을 쿼리할 수 있습니다.


사용자가 공식 계정으로 메시지를 보낼 때, 공식 계정으로 받은 메시지의 발신자는 OpenID가 되며, 이는 다음과 같은 결과입니다. 사용자의 WeChat ID를 사용하여 암호화하면 각 사용자는 공식 계정별로 고유한 OpenID를 갖게 됩니다.


또한 개발자는 종종 사용자 계정을 공유하고 여러 플랫폼(모바일 애플리케이션, 웹사이트, 공개 계정)에서 계정 시스템을 통합해야 합니다. 필요에 따라 WeChat 개방형 플랫폼은 UnionID 메커니즘을 제공합니다. 개발자는 OpenID를 통해 기본 사용자 정보를 얻을 수 있습니다. 개발자가 여러 애플리케이션(모바일 애플리케이션, 웹사이트 애플리케이션 및 공개 계정)을 보유하고 있는 경우 공개 계정은 WeChat 오픈 플랫폼 계정에 바인딩된 후에만 UnionID를 얻을 수 있습니다. 동일한 WeChat 오픈 플랫폼 계정에 모바일 애플리케이션, 웹사이트 애플리케이션 및 공개 계정이 있는 한 사용자의 UnionID는 고유하므로 사용자 기본 정보에서 UnionID를 획득하여 구별할 수 있습니다. 즉, 동일한 사용자는 동일한 WeChat 오픈 플랫폼 계정의 다양한 애플리케이션에 대해 동일한 UnionID를 가지고 있습니다. 자세한 내용은 WeChat 개방형 플랫폼 리소스 센터 - 모바일 애플리케이션 개발 - WeChat 로그인 - 권한 관계 인터페이스 통화 가이드 - 사용자 개인 정보 얻기(UnionID 메커니즘)를 참조하세요.


또한 WeChat 공식 계정 인터페이스는 각각 포트 80과 포트 443을 지원하는 http:// 또는 https://로 시작해야 합니다. .

1) 토큰 변경, 타임스탬프, nonce의 세 매개변수는 사전순으로 정렬됩니다
2) sha1 암호화를 위해 세 매개변수 문자열을 하나의 문자열로 연결합니다