>  기사  >  위챗 애플릿  >  Force.com WeChat 개발 시리즈 배경 구성

Force.com WeChat 개발 시리즈 배경 구성

高洛峰
高洛峰원래의
2017-02-25 17:05:141572검색

위챗 백엔드로서 국내 무료 클라우드 리소스를 찾기 위해 하루종일 시나앱엔진(SAE)을 사용해보았는데 디버깅이 너무 불편하고 사용자 경험도 좋지 않았습니다. 미디어 회사로서 Sina의 기술력은 테스트를 견딜 수 없습니다. Amazon은 AWS를 시작할 수 있지만 Sina는 그럴 수 없습니다. 더 나은 옵션은 Baidu BaiduAppEngine(BAE)이지만 최근에 충전을 시작했지만 적어도 외국인이 약속한 무료 제품은 항상 무료이고 신뢰할 수 있으므로 안심하고 force.com으로 돌아가는 것이 좋습니다.


첫 번째 단계는 force.com 계정을 신청하는 것입니다. www.salesforce.com을 신청하는 경우, 개발자에게 적합합니다. 두 번째 단계는 WeChat 서비스 인터페이스로 Apex Rest Class를 생성하는 것입니다. 여기서 생성된 클래스는 WeChatRestController이고 Rest 인터페이스 이름은 WeChatRest:

@RestResource(urlMapping='/WeChatRest/*')
global with sharing class WeChatRestController{
@HttpGet
    global static void doGet(){
        String signature = RestContext.request.params.get('signature');
        String timestamp = RestContext.request.params.get('timestamp');
        String nonce = RestContext.request.params.get('nonce');
        String echostr = RestContext.request.params.get('echostr');
        System.debug(echostr + ' - ' + timestamp);
        RestContext.response.addHeader('Content-Type', 'text/plain');
         
        RestContext.response.responseBody = Blob.valueOf(echostr);
         
        //return echostr;
    }
}

입니다. 이 인터페이스를 사용하여 WeChat URL을 구성하면 Tencent에서는 구성 중에 이 URL이 필요합니다. 구성 창은 다음과 같습니다.

추가 설명: 이 기사가 게시된 후 Tencent는 "메시지 암호화 및 암호 해독 키"를 출시했습니다. 일반 텍스트 모드, 호환 모드 및 보안 모드를 지원합니다. 주요 차이점은 일반 텍스트 모드에서는 Tencent가 일반 텍스트 XML 메시지를 인터페이스에 푸시하고, 호환 모드에서는 일반 텍스트 XML 메시지와 암호화된 XML 메시지가 모두 있다는 것입니다. 보안 모드에서는 사용자에게 고급 보안 지원을 제공하기 위해 암호화된 XML 메시지만 제공되므로 모든 사람의 학습 곡선이 단순화됩니다. 이 기사와 이후의 모든 관련 기사는 일반 텍스트 모드를 사용합니다.

Force.com WeChat 개발 시리즈 배경 구성

Tencent는 Get 메소드를 통해 이 URL에 4개의 매개변수를 전송합니다. URL 형식은 다음과 같습니다(예제만): https://msd-developer-edition.ap1. force.com/services/apexrest/WeChatRest?signature=GenePoint&echostr=test×tamp=111&nonce=222 URL에서 반환된 값이 4개 매개변수의 echostr 값과 일치하면 Tencent는 일치하지 않는 경우 확인에 성공한 것으로 간주합니다. 확인이 실패한 것으로 간주되어 구성을 계속할 수 없습니다. Lazy 값을 직접 반환하는 방법은 다른 사람이 귀하의 URL을 사용할 수도 있다는 위험이 있습니다. 여기에서 echostr의 값은 실제로 특정 알고리즘에 따라 Tencent 백엔드에서 사용자가 구성한 토큰과 타임스탬프, nonce 매개변수의 값을 기반으로 계산됩니다. 참고 사항을 참조하세요. 여기에서 자세히 알아보세요. 코드에서 설명해야 할 것은 echostr이 직접 반환되면 force.com은 기본적으로 xml 구조의 내용이 된다는 점입니다. Tencent는 echostr 값과 같지 않다고 판단하여 구성 실패. 이렇게 하려면 Blog.valueOf 메서드를 사용하여 직접 텍스트 정보로 변환해야 합니다. 세 번째 단계는 이 URL에 대한 공용 네트워크 액세스를 활성화하도록 Site.com을 구성하는 것입니다. force.com 클래스 및 웹 페이지에 액세스하려면 기본적으로 사용자 인증이 필요합니다. 그러나 사이트를 통해 이 URL에 대한 공용 네트워크 액세스를 활성화할 수 있습니다. .com을 수행하려면 먼저 도메인 이름을 만들고 개발->사이트를 입력한 후 만들려는 도메인 이름을 입력해야 합니다. 예를 들어 작성자의 도메인 이름은 johnson0001:

http:/입니다. /johnson0001-developer-edition.ap1.force.com

만들기에 성공한 후 다음 단계는 사이트를 만드는 것입니다. 새로 만들기 버튼을 클릭하세요.

Force.com WeChat 개발 시리즈 배경 구성

다음 사이트 정보 입력 화면에서 사이트 라벨, 사이트 이름을 입력하고 ""Active Site Home Page"(여기서는 웹페이지를 만들 필요가 없으며 아무 페이지나 선택하기만 하면 됨)를 선택합니다. , 다른 옵션을 변경하지 않고 "저장" 버튼을 클릭하세요:

Force.com WeChat 개발 시리즈 배경 구성

다음 단계에서 화면에서 "공개 액세스 설정" 버튼을 클릭하세요.

Force.com WeChat 개발 시리즈 배경 구성

다음 화면에서 "Apex 클래스 액세스 활성화"를 찾아 편집 버튼을 클릭하세요.

Force.com WeChat 개발 시리즈 배경 구성

오른쪽 목록에 WeChatRestController 클래스를 추가하세요. , 그러면 클래스에서 익명 공개 액세스를 지원할 수 있습니다.

Force.com WeChat 개발 시리즈 배경 구성

마지막으로 사이트 홈페이지로 돌아가서 "활성화" 버튼을 클릭하여 사이트를 활성화합니다. 다음 URL을 통해 우리가 개발한 인터페이스에 액세스할 수 있습니다(URL이 적용되려면 몇 분 정도 걸릴 수 있습니다):

https://johnson0001-developer-edition.ap1.force .com/services /apexrest/WeChatRest

네 번째 단계는 Tencent 백엔드를 구성하는 것입니다. 개발 모드에서 이 URL을 입력하고 토큰을 입력한 후 제출 버튼을 클릭하면 성공을 의미합니다. 전체 구성:

Force.com WeChat 개발 시리즈 배경 구성

URL Echostr 알고리즘 확인: 1. Token(Tencent의 백엔드에서 사용자가 구성한 값), Timestamp(Tencent가 URL을 요청할 때 전달된 타임스탬프 값), Nonce(Tencent가 요청한 값)를 결합합니다. URL) 전달된 Nonce 값은 알파벳순으로 정렬됩니다. 2. 정렬 후 문자열로 이어집니다. 3. Normal이 echostr

더보기 Force.com WeChat 개발 시리즈의 배경 구성 관련 글은 PHP 중국어 홈페이지를 주목해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.