>위챗 애플릿 >위챗 개발 >Python을 사용하여 WeChat 공개 플랫폼을 구축하는 방법

Python을 사용하여 WeChat 공개 플랫폼을 구축하는 방법

高洛峰
高洛峰원래의
2017-03-19 17:57:261750검색

이 글은 주로 Python으로 WeChat 공개 플랫폼을 구축하는 관련 정보와 기술을 소개합니다. 이 글에서는 Python으로 WeChat 공개 플랫폼을 구축하는 세부 단계를 설명합니다.

이 글에서는 주로 Teach를 소개합니다. Python을 사용하여 WeChat 공개 플랫폼을 구축하는 방법을 단계별로 설명합니다. 관심 있는 친구는

사용된 도구, Python Sina SAE 플랫폼, WeChat 공개 플랫폼

을 참조하세요. 먼저 로그인해야 합니다. WeChat에 공개 플랫폼과 Sina SAE 플랫폼에 다양한 등록이 있습니다. WeChat 플랫폼에 등록할 때 신분증을 들고 있는 사진을 찍어야 합니다. 아직 며칠의 검토 기간이 있습니다

WeChat 공개 플랫폼: http://mp.weixin .qq.com

Sina SAE: http://sae.sina.com.cn/

WeChat에 대한 공개 검토를 기다립니다. , 공개 플랫폼에 로그인하고 고급 기능을 클릭하세요. 액세스 정보를 제공해야 한다는 것을 알 수 있습니다:

Python을 사용하여 WeChat 공개 플랫폼을 구축하는 방법

WeChat 인터페이스 구성

그런 다음 인터페이스로 URL이 필요합니다( SAE에서 Python 애플리케이션을 구축해야 하는 경우 Token은 당사와 WeChat이 합의한 "비밀번호"에 해당합니다. 여기에는 영어나 숫자를 입력할 수 있지만 실제 테스트에서는 순수 숫자를 입력할 때 문제가 발생할 수 있습니다. 따라서 여전히 문자입니다. 문자열은 비교적 안정적입니다.

첫 번째 단계인 SAE에서 Python 애플리케이션을 빌드하고, 아래 그림의 애플리케이션에서 Python 애플리케이션을 선택합니다.

Python을 사용하여 WeChat 공개 플랫폼을 구축하는 방법

2차 도메인명, 애플리케이션명 등을 입력하고 언어를 선택합니다. 여기서는 Python을 사용하여 선택된 웹 애플리케이션을 개발합니다. 애플리케이션을 생성한 후 코드 관리에서 새 버전을 생성합니다. 그런 다음 코드를 편집하도록 선택할 수 있습니다. 로컬 환경, SVN 등의 설정 없이 온라인 편집이 가능합니다. 물론, 이와 같은 가벼운 애플리케이션 온라인 편집기로는 충분할 것입니다. SVN은 온라인 편집만큼 사용하기 쉽지 않습니다.

두 번째 단계는 을 작성하는 것입니다. index.wsgi

왜냐하면 우리는 XML 구문 분석이 좋은 web.py 프레임워크를 사용하고 있기 때문입니다.

먼저 config.yaml 작성

name: yangyanxing
version: 1
 
libraries:
- name: webpy 
 version: "0.36"
 
- name: lxml
 version: "2.3.4"
 
...

엄격한 들여쓰기에 주의하세요. 한 칸이라도 놓치면 쓸모가 없습니다! 그리고 디버깅 중에 문제점을 찾기도 어렵습니다. . .

그럼 계속해서 index.wsgi를 작성합니다

# coding: UTF-8
import os
 
import sae
import web
 
from weixinInterface import WeixinInterface
 
urls = (
'/weixin','WeixinInterface'
)
 
app_root = os.path.dirname(__file__)
templates_root = os.path.join(app_root, 'templates')
render = web.template.render(templates_root)
 
app = web.application(urls, globals()).wsgifunc()  
application = sae.create_wsgi_app(app)

간략한 설명,

from weixinInterface import WeixinInterface
여기서 weixinInterface의 또 다른 py 파일을 만들어야 합니다. 이 클래스를 index.wsgi 파일에 작성할 수도 있지만 지저분해 보일 것입니다

새로운 weixinInterface.py 파일을 생성하고 대문자 사용에 주의한 후 다음 코드를 작성하세요

# -*- coding: utf-8 -*-
import hashlib
import web
import lxml
import time
import os
import urllib2,json
from lxml import etree
 
class WeixinInterface:
 
 def __init__(self):
  self.app_root = os.path.dirname(__file__)
  self.templates_root = os.path.join(self.app_root, 'templates')
  self.render = web.template.render(self.templates_root)
 
 def GET(self):
  #获取输入参数
  data = web.input()
  signature=data.signature
  timestamp=data.timestamp
  nonce=data.nonce
  echostr=data.echostr
  #自己的token
  token="yangyanxing" #这里改写你在微信公众平台里输入的token
  #字典序排序
  list=[token,timestamp,nonce]
  list.sort()
  sha1=hashlib.sha1()
  map(sha1.update,list)
  hashcode=sha1.hexdigest()
  #sha1加密算法  
 
  #如果是来自微信的请求,则回复echostr
  if hashcode == signature:
   return echostr

여기에 GET 메서드가 정의되어 있습니다. WeChat의 공개 플랫폼에서는 토큰 확인이 필요합니다. 여기서는 template_root를 루트 디렉터리의 템플릿으로 정의하므로 루트 디렉터리

Python을 사용하여 WeChat 공개 플랫폼을 구축하는 방법

에 디렉터리 template 디렉터리도 만들어야 합니다. WeChat은 확인 정보 GET을 전송하며 여기서 GET 방식을 사용하여 값을 얻고 해당 값을 반환합니다.

모든 것을 저장하고 이제 WeChat의 공개 플랫폼 고급 관리 인터페이스로 돌아갑니다

WeChat 인터페이스 구성

URL에 Sina SAE의 애플리케이션 이름을 입력하고 /weixin을 추가하세요. 예: http://XXXX.sinaapp.com/weixin token 원하는 대로 입력하세요. weixinInterface 변경에 주의하세요. .py 토큰을 입력하면 됩니다. 입력 후 제출을 클릭하면 문제가 없으면 검증에 통과됩니다!

Python을 사용하여 WeChat 공개 플랫폼을 구축하는 방법

세 번째 단계 , 간단한 자동 응답 방법을 만듭니다, 이를 앵무새처럼 사용자가 당신이 말하면, 그것은 뭔가에 답할 것입니다. 그것은 아무 소용이 없습니다. 단지 재미를 위해서입니다!

weixinInterface.py에 계속 코드 추가

def POST(self):  
  str_xml = web.data() #获得post来的数据
  xml = etree.fromstring(str_xml)#进行XML解析
  content=xml.find("Content").text#获得用户所输入的内容
  msgType=xml.find("MsgType").text
  fromUser=xml.find("FromUserName").text
  toUser=xml.find("ToUserName").text
  return self.render.reply_text(fromUser,toUser,int(time.time()),u"我现在还在开发中,还没有什么功能,您刚才说的是:"+content)

이 def는 이전 GET과 동일한 수준입니다. 주의하세요. 들여쓰기

그런 다음 템플릿 디렉토리에 reply_text.xml 템플릿 파일을 생성하고 다음 코드를 작성합니다

$def with (toUser,fromUser,createTime,content)
<xml>
<ToUserName><![CDATA[$toUser]]></ToUserName>
<FromUserName><![CDATA[$fromUser]]></FromUserName>
<CreateTime>$createTime</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$content]]></Content>
</xml>

여기의 toUser와 fromUser는 방금 게시된 것과 반대입니다. 여기의 toUser는 POST 함수의 fromUser이기도 하고, 여기의 fromUser도 POST 함수의 toUser이고, msgType은 텍스트이기 때문입니다.

모두 저장 , 이제 개인 WeChat을 사용하여 귀하가 만든 공개 WeChat 계정을 팔로우한 다음 일부 콘텐츠를 입력하세요. 질문이 없으면 앵무새 답장을 받게 됩니다!

위 내용은 Python으로 WeChat 공개 플랫폼을 구축하는 모든 내용입니다. 위의 단계에 따라 구축할 수 있습니다.

위 내용은 Python을 사용하여 WeChat 공개 플랫폼을 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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