Heim  >  Artikel  >  WeChat-Applet  >  So erstellen Sie eine öffentliche WeChat-Plattform mit Python

So erstellen Sie eine öffentliche WeChat-Plattform mit Python

高洛峰
高洛峰Original
2017-03-19 17:57:261652Durchsuche

In diesem Artikel werden hauptsächlich die relevanten Informationen und Techniken zum Aufbau einer öffentlichen WeChat-Plattform in Python vorgestellt. Der Artikel enthält detaillierte Schritte zum Aufbau einer öffentlichen WeChat-Plattform in Python.

In diesem Artikel wird hauptsächlich Teach vorgestellt Sie erfahren Schritt für Schritt, wie Sie mit Python eine öffentliche WeChat-Plattform erstellen. Interessierte Freunde können sich auf

Verwendete Tools, Python Sina SAE-Plattform und die öffentliche WeChat-Plattform beziehen.

Sie müssen sich zuerst anmelden bei WeChat Es gibt verschiedene Registrierungen auf der öffentlichen Plattform und der Sina SAE-Plattform. Bei der Registrierung auf der WeChat-Plattform müssen Sie ein Foto von Ihrem Personalausweis machen. Es gibt noch ein paar Tage Überprüfungszeitraum Öffentliche WeChat-Plattform: http://mp.weixin .qq.com

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

Warten Sie auf die öffentliche WeChat-Bewertung, loggen Sie sich ein Melden Sie sich bei der öffentlichen Plattform an und klicken Sie auf „Erweiterte Funktionen“. Sie werden sehen, dass Sie Zugangsinformationen angeben müssen:

So erstellen Sie eine öffentliche WeChat-Plattform mit Python

WeChat-Schnittstellenkonfiguration

Dann benötigen wir eine URL als Schnittstelle ( Wenn Sie eine Python-Anwendung auf SAE erstellen müssen, entspricht das Token dem zwischen uns und WeChat vereinbarten „Passwort“. Sie können hier Englisch oder Zahlen eingeben, aber bei tatsächlichen Tests gibt es manchmal Probleme bei der Eingabe reiner Zahlen. Es handelt sich also immer noch um Zeichen. Die Zeichenfolge ist relativ zuverlässig.

Der erste Schritt: Erstellen Sie eine Python-Anwendung auf SAE. Wählen Sie die Python-Anwendung in der Anwendung im Bild unten aus.

So erstellen Sie eine öffentliche WeChat-Plattform mit Python Geben Sie den Domänennamen der zweiten Ebene, den Anwendungsnamen usw. ein und wählen Sie die Sprache aus. Hier verwenden wir Python, um ausgewählte Webanwendungen zu entwickeln. Erstellen Sie nach dem Erstellen der Anwendung eine neue Version in der Codeverwaltung. Anschließend können wir den Code bearbeiten. Die Online-Bearbeitung kann ohne Konfiguration der lokalen Umgebung, SVN usw. erfolgen. Natürlich ist ein einfacher Online-Anwendungseditor wie dieser nicht so einfach zu verwenden wie die Online-Bearbeitung

Der zweite Schritt ist das Schreiben index.wsgiWeil wir das web.py-Framework wegen seiner guten XML-Analyse verwenden.

Schreiben Sie zuerst config.yaml


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

Achten Sie auf eine strikte Einrückung. Wenn Sie ein Leerzeichen verpassen, wird dies der Fall sein nutzlos! Und es ist schwierig, beim Debuggen Probleme zu finden. . .

Dann schreiben wir weiter 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)

Eine kurze Erklärung,

aus weixinInterface importierenHier müssen wir eine weitere py-Datei von weixinInterface erstellen. Sie können diese Klasse auch in die Datei index.wsgi schreiben, aber es wird chaotisch aussehen
Erstellen Sie eine neue weixinInterface.py-Datei, achten Sie auf die Groß- und Kleinschreibung und schreiben Sie den folgenden Code


# -*- 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

Hier wird eine GET-Methode definiert , ist eine Token-Verifizierung, die auf den Anforderungen der öffentlichen WeChat-Plattform basiert. Da wir hier templates_root als Vorlagen im Stammverzeichnis definieren, müssen wir auch ein Vorlagenverzeichnis im Stammverzeichnis erstellen

So erstellen Sie eine öffentliche WeChat-Plattform mit PythonDa WeChat die Verifizierungsinformationen GET sendet, wird hier die GET-Methode verwendet, um den Wert abzurufen und den entsprechenden Wert zurückzugeben

Speichern Sie alles und kehren Sie nun zur erweiterten Verwaltungsoberfläche der öffentlichen Plattform von WeChat zurück

WeChat-Schnittstellenkonfiguration

Geben Sie den Namen Ihrer Anwendung in Sina SAE in die URL ein und fügen Sie /weixin hinzu, z. B.: http://XXXX.sinaapp.com/weixin. Geben Sie das Token ein als Wenn Sie möchten, passen Sie einfach auf. Ändern Sie einfach das Token in weixinInterface.py. Klicken Sie nach der Eingabe auf Senden. Wenn es keine Probleme gibt, wird die Überprüfung bestanden.

So erstellen Sie eine öffentliche WeChat-Plattform mit Python

Der dritte Schritt : Erstellen Sie eine einfache automatische Antwortmethode , die der Benutzer nachahmt. Was auch immer Sie sagen, es wird etwas antworten, es nützt nichts, nur zum Spaß! Fügen Sie weiterhin Code in weixinInterface.py hinzu


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)

Diese Definition befindet sich auf der gleichen Ebene wie das vorherige GET. Bitte beachten Einzug

Dann erstellen wir die Vorlagendatei „reply_text.xml“ im Vorlagenverzeichnis und schreiben den folgenden Code


$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>

Beachten Sie, dass toUser und fromUser hier das Gegenteil von dem sind, was gerade gepostet wurde, da toUser hier auch fromUser in der POST-Funktion ist, fromUser hier auch toUser in der POST-Funktion ist und msgType Text ist

Alle speichern Verwenden Sie nun Ihren persönlichen WeChat, um dem von Ihnen erstellten öffentlichen WeChat-Konto zu folgen, und geben Sie dann einige Inhalte ein. Wenn Sie keine Fragen haben, erhalten Sie eine Papageienantwort!

Das Obige ist der gesamte Inhalt zum Erstellen der öffentlichen WeChat-Plattform in Python. Sie können sie gemäß den oben genannten Schritten erstellen.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine öffentliche WeChat-Plattform mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn