如何用Python开发微信公众号后台:SAE、Git与Python环境配置指南

通过本系列文章,我们将介绍如何使用Python开发微信公众号后台。

如何用Python开发微信公众号后台:SAE、Git与Python环境配置指南

主要工具:SAE+微信公众号+Git+Python本地环境(最好安装Git并配置Python IDE,如Pycharm)

1.工人想做好自己的工作

首先简单介绍一下一些准备工作。

1.1 微信公众号

第一步,注册个人微信公众号(个人号不支持认证)。按照给定的流程并填写所需的信息来完成申请。如果您已有账户,可以直接登录。

登录后,您可以在左栏中看到自动回复功能:

在一般使用中,我们可以通过设置关键字来实现一些基本的自动回复功能,但这样的关键字回复远远不能满足我们的实际需求。比如我们要实现一个查快递的功能,就必须调用express接口,针对不同用户的不同输入,给出不同的输出结果。在这种情况下,关键字回复就显得毫无用处了。所以我们选择了开发者模式。

在基础配置中,我们只需要修改URL、Token、EncodingAESKey这三个配置即可。由于我们还没有配置好自己的服务器,所以微信公众号的设置这里会暂停,直到我们有服务器并获取地址为止。稍后回来填写即可。 1.2 安全事故

这次我们使用新浪云作为我们的服务器。新用户注册登录后,将获得一定的云豆折扣。老用户十块钱的押金就足够我们完成很多学习任务了。

进入控制台后选择云应用并创建新应用。

输入二级域名和应用程序名称(必填),在下面的运行环境中选择Python2.7 - 空应用程序。

成功创建应用程序后,您将获得一些相应的配置数据和密钥。当然,这些内容这次不会用到。主要用到的是登录账号和安全密码。

SAE平台的代码版本控制分为Git和SVN。您可以在两者之间自由选择。这次我们选择使用Git来上传代码。

1.3 git

对于Windows系统,如果您的计算机上安装了Github Desktop,它应该附带Git Bash和Git Shell等工具。如果您之前没有安装过Git相关软件,可以搜索Git并安装Git for Windows。

当你第一次接触 Git 时,它可能会很复杂。它功能非常强大,但使用起来很麻烦。初学者可能会在绕了一圈之后感到困惑。然而,在这个构建过程中,我们实际上只需要使用四五个极其简单的命令。 ,所以完全不用担心Git,不要让Git成为你拒绝迈出第一步的障碍。 (有关 SAE 代码管理的详细信息,请参阅#git)

现在让我们进入真正的开发阶段吧!

2.将窗户纸刺破

还记得大学一年级的时候,公众号才刚刚兴起。当时我兴致勃勃地注册了一个账号,设置了很多关键词自动回复,坚持推送了好几天的图文消息。但是当我真正开始研发User模式的时候,当我真正想调用一些接口的时候,我发现我似乎该学的都学了,该用的都用了,但就是串不起来,无法串起来。没有做出我想要的东西(当时用的好像是PHP),公众号之类的东西从此就被搁置了,一直拖到现在。这两天尝试了一下Python服务器配置,发现只是一层窗户纸而已。事实上,当我戳它时它就会破裂。不再像以前那样纠结和复杂。

2.1 服务器配置和Token认证

由于我们之前在SAE平台上创建了一个空的应用程序,因此我们需要做一些基本的配置工作。这次我们选择使用web.py(Python 2.7)来构建服务器。如果本地没有web.py库,可以通过pip命令(pip install web.py)安装。

之后我们需要创建一个项目并编辑基本代码如下。

config.yaml
name: wxpytest
version: 1
libraries:
- name: webpy
version: "0.36"
- name: lxml
version: "2.3.4"
...
index.wsgi
# coding: UTF-8
importos
importsae
import web
fromweixinInterface 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)

这两部分是web.py的基本配置文件。之后我们需要开始编写代码来实现微信公众平台的功能。

新建weixinInterface.py

# -*- coding: utf-8 -*-
importhashlib
import web
importlxml
import time
importos
classWeixinInterface:
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="token" #这里改写你在微信公众平台里输入的token
        #字典序排序
list=[token,timestamp,nonce]
list.sort()
        sha1=hashlib.sha1()
map(sha1.update,list)
hashcode=sha1.hexdigest()
        #sha1加密算法
        #如果是来自微信的请求,则回复echostr
ifhashcode == signature:
returnechostr

写完这三部分代码,我们就实现了最简单的微信平台认证配置。这三部分代码中唯一需要修改的是token字段,需要和你在微信平台输入的token保持一致。 (后面有机会我会详细写一下具体的认证过程,这次只列出实现过程,需要注意的是,对于认证token,我们只需要使用GET方法即可,后续的消息需要使用 POST 方法。)

这时候我们需要将代码上传到SAE平台,然后在微信平台上进行认证请求。

右键文件根目录,打开Git Bash,依次输入以下命令。在此过程中可能会要求您输入 SAE 用户名和安全密码,只需按照提示操作即可。

gitinit
git remote add sae https://git.sinacloud.com/yourapp
git add .
git commit -m 'your commit message'
git push sae master:1

然后返回公众平台的开发者页面,填写URL并填写与代码中token一致的Token。 EncodingAESKey是随机生成的,然后点击提交进行认证。如果上述步骤没有操作错误,则该步骤可以认证成功。

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

27阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读