ホームページ >WeChat アプレット >WeChatの開発 >Pythonを使用してWeChatパブリックプラットフォームを構築する方法
この記事では、Python で WeChat パブリック プラットフォームを構築するための関連情報とテクニックを主に紹介します。興味のある方は、Python で WeChat パブリック プラットフォームを構築する詳細な手順を説明します。この記事では、主にその使用方法を段階的に説明します。ステップ: Python は WeChat パブリック プラットフォームを構築します。興味のある友人は、使用するツール、Python Sina SAE プラットフォーム、WeChat パブリック プラットフォームを参照してください
まず WeChat のパブリック プラットフォームと Sina SAE プラットフォームに登録し、WeChat プラットフォームに登録する必要があります。到着したら、身分証明書を持った写真を撮る必要があります。審査期間はまだ数日あります
WeChat 公共プラットフォーム: http://mp.weixin.qq.com
Sina SAE: http ://sae.sina.com .cn/
WeChat のパブリック レビューを待った後、パブリック プラットフォームにログインし、[高度な機能] をクリックします。アクセス情報を提供する必要があることがわかります:
WeChatインターフェース設定
次に、インターフェースとしてURLが必要です(この場合、トークンはSAE上にPythonアプリケーションを構築する必要があります)。 WeChatとの間で取り決めた「パスワード」は英語または数字で入力できますが、実際のテストでは純粋な数字を入力すると問題が発生する場合があるため、文字列の方が信頼性が高くなります。
最初のステップ、
SAE上でPythonアプリケーションを構築し、下の図のアプリケーションでPythonアプリケーションを選択します。
第2レベルドメイン名やアプリケーション名などを入力し、言語を選択します。ここでは、Python を使用して選択した Web アプリケーションを開発します。アプリケーションを作成した後、コード管理で新しいバージョンを作成します。次に、コードを編集することを選択できます。ローカル環境やSVNなどの設定をすることなくオンライン編集が可能です。もちろん、このような軽量アプリケーションのオンライン エディターは、オンライン編集ほど使いやすくはありません2 番目のステップは、web.py フレームワークを使用しているためです。その優れた XML 解析の特徴。 まずconfig.yamlを書きます
name: yangyanxing version: 1 libraries: - name: webpy version: "0.36" - name: lxml version: "2.3.4" ...厳密なインデントに注意してください。スペースを1つ逃すと役に立たなくなります。また、デバッグ中に問題を見つけるのは困難です。 。 。
その後、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
Sina SAE のアプリケーションの名前を入力しますhttp://XXXX.sinaapp.com/weixin トークンなどの URL を追加し、weixinInterface.py 内のトークンを変更することに注意してください。問題ありません。検証はパスします。
3 番目のステップは、簡単な自動返信メソッドを作成することです、ユーザーの発言をオウム返しにし、その発言にも返信しますが、役に立たず、ただ楽しむだけです。
引き続き 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 は text であるためです
これらをすべて保存して今すぐ使用してください個人の WeChat で作成したパブリック WeChat ID を入力し、いくつかの内容を入力します。質問がなければ、オウム返しが届きます。
上記はPythonでWeChatパブリックプラットフォームを構築するすべての内容です。上記の手順に従って構築できます。
以上がPythonを使用してWeChatパブリックプラットフォームを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。