ホームページ >WeChat アプレット >WeChatの開発 >Pythonを使用してWeChatパブリックプラットフォームを構築する方法

Pythonを使用してWeChatパブリックプラットフォームを構築する方法

高洛峰
高洛峰オリジナル
2017-03-19 17:57:261750ブラウズ

この記事では、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インターフェース設定Pythonを使用してWeChatパブリックプラットフォームを構築する方法

次に、インターフェースとしてURLが必要です(この場合、トークンはSAE上にPythonアプリケーションを構築する必要があります)。 WeChatとの間で取り決めた「パスワード」は英語または数字で入力できますが、実際のテストでは純粋な数字を入力すると問題が発生する場合があるため、文字列の方が信頼性が高くなります。

最初のステップ、

SAE上でPythonアプリケーションを構築し、下の図のアプリケーションでPythonアプリケーションを選択します。

第2レベルドメイン名やアプリケーション名などを入力し、言語を選択します。ここでは、Python を使用して選択した Web アプリケーションを開発します。アプリケーションを作成した後、コード管理で新しいバージョンを作成します。次に、コードを編集することを選択できます。ローカル環境やSVNなどの設定をすることなくオンライン編集が可能です。もちろん、このような軽量アプリケーションのオンライン エディターは、オンライン編集ほど使いやすくはありません

Pythonを使用してWeChatパブリックプラットフォームを構築する方法

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

ここでは GET メソッドが定義されています。 WeChat に基づく パブリック プラットフォームではトークンの検証が必要です。ここでは templates_root をルート ディレクトリのテンプレートとして定義するため、ルート ディレクトリにテンプレートのディレクトリを作成する必要もあります


。WeChat が検証情報 GET を送信するためです。そのため、ここでは GET メソッドを使用して値を取得し、対応するアプリケーション値を返します

すべてを保存し、WeChat のパブリック プラットフォームの高度な管理インターフェイスに戻ります

WeChat インターフェイス設定

Pythonを使用してWeChatパブリックプラットフォームを構築する方法Sina SAE のアプリケーションの名前を入力しますhttp://XXXX.sinaapp.com/weixin トークンなどの URL を追加し、weixinInterface.py 内のトークンを変更することに注意してください。問題ありません。検証はパスします。

3 番目のステップ

は、簡単な自動返信メソッドを作成することです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 は text であるためです

これらをすべて保存して今すぐ使用してください個人の WeChat で作成したパブリック WeChat ID を入力し、いくつかの内容を入力します。質問がなければ、オウム返しが届きます。

上記はPythonでWeChatパブリックプラットフォームを構築するすべての内容です。上記の手順に従って構築できます。

以上がPythonを使用してWeChatパブリックプラットフォームを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。