위 챗 공중 번호 제3자 설정 및 인터페이스
구체 적 인 실현 은 참고 할 수 있다.https://github.com/ThssSE/WeChatTicket/blob/master/wechat
아래 도 상술 한 공사 중의 일부 코드 로 설명 할 것 이다.
인터페이스 테스트 공중 번호
신청 주소:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
위 에 URL, token, 도 메 인 이름 등 정 보 를 설정 하면 테스트 를 시작 할 수 있 습 니 다.
그 중에서 token 은 자신 이 마음대로 쓴 것 으로 서버 쪽 과 일치 하면 됩 니 다.
위 챗 과 상호작용 하 는 정보 형식
백 엔 드 와 위 챗 공식 번호 가 상호작용 할 때 사용 하 는 메시지 형식 은 XML 형식 입 니 다. 다음 과 같 습 니 다.
1460537339
6272960105994287618
그림 등의 내용 을 사용 하려 면 그 MediaId 를 사용 해 야 합 니 다.이때 MsgType 은
, Image
태그 에 포 함 된
내용 입 니 다.
,MediaId https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
다운로드.
사용자 정의 메뉴
서버 를 통 해 사이트 https://api.weixin.qq.com/cgi-bin/menu/create?access_token=XXXX
에 POST 작업 을 하여 메뉴 를 만 듭 니 다. 매개 변 수 는 다음 과 같은 형식의 문자열 입 니 다.
postJson = """
{
"button":
[
{
"type": "click",
"name": " ",
"key": "mpGuide"
},
{
"name": " ",
"sub_button":
[
{
"type": "view",
"name": " ",
"url": "http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1418702138&token=&lang=zh_CN"
},
{
"type": "view",
"name": " ",
"url": "http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1418702138&token=&lang=zh_CN"
},
{
"type": "view",
"name": " ",
"url": "http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433747234&token=&lang=zh_CN"
}
]
},
{
"type": "media_id",
"name": " ",
"media_id": "z2zOokJvlzCXXNhSjF46gdx6rSghwX2xOD5GUV9nbX4"
}
]
}
"""
이후 백 스테이지 에서 POST 데 이 터 를 받 아 대응 처리 할 수 있다.
코드 구현
특별한 설명 이 없 으 면 아래 에 가리 키 는 코드 는 모두 TssSE / WeChatTicket / wechat 아래 에 있 습 니 다.
access token 관련:wrapper.py
파일 의 WeChatLib
클래스 함수 get_wechat_access_token
를 사용 하여 시간 초과 여 부 를 확인 하고 필요 할 때https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential & appid = xxx & secret = xxx 는 access token 을 가 져 오고 클래스 함수 와 클래스 변 수 를 통 해 access token 관 리 를 합 니 다.
인증:wrapper.py
중 WeChatLib
류 의 check_signature
함 수 를 통 해 이 루어 지고 정렬 후 해시 처리 하면 됩 니 다.
menu 처리
get 만 나 기wechat_menu 와 setwechat_menu 이 두 함수
서명 인증
클래스 중 WeChatView
함수 참조
사용자 이벤트 응답_check_signature
및 do_dispatch
함 수 를 보고 위 챗 에서 보 내 온 POST 사건 을 분석 하고 인증 한 후 해당 하 는 handler 목록 에 직접 보 내 검 사 를 하여 이 데이터 에 대응 하도록 합 니 다.
예 를 들 어 parse_msg_xml
파일 에 적 힌 내용, check 함 수 는 먼저 메 시 지 를 보 내 는 유형 과 표 지 를 통 해 판단 (텍스트 내용 에 대해 텍스트 데이터 가 요구 에 부합 되 는 지 직접 검사 하고 이 벤트 를 클릭 하면 자신 이 메뉴 를 설정 할 때 설정 한 handlers.py
과 비교 하여 확인) 한 다음 에 해당 하 는 데 이 터 를 직접 되 돌려 주 고 event_key
파일 에서 wrapper.py
함 수 를 거 친다.do_dispatch
XML 형식 으로 패 키 징 하여 위 챗 서버 로 돌아 갑 니 다.HttpResponse
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.