flask+BAE快速搭建微信公众号
来源:互联网 发布:类似沙沙网络的网站 编辑:程序博客网 时间:2024/04/29 17:33
由于工作室的需要,老师让我自己先去做一个公众测试号出来,之前网络上一直没有合适的教程,现在把自己做的写出来,希望能给大家一点参考。
首先,我们要去注册一个微信公众号,这个不是问题,关键在于配置服务器时要填的url和token,因为工作室服务器的80端口已被占用,只能找云服务器,由于百度现在送代金券 :),于是就选了百度的应用引擎BAE,在申请时选择python-web类型,代码版本工具选择git,这样就部署好了。
接着,我们可以在本地新建一个文件夹weixin,用以存放项目文件,然后打开终端,cd至weixin,这时在你的部署列表里复制你刚才部署的项目的git地址(例:https://git.duapp.com/appid123456),回到终端,:~/weixin$ git clone https://git.duapp.com/appid123456,之后会要求你输入用户名和密码,就是百度云开放的用户名及密码。
这个时候在appid123456文件夹中可以看到三个文件:
首先把app.conf文件中的handlers:
- url : / 改为
handlers:
- url : /.*
注意其它的不要动!
然后是index.py的代码:
# -*- coding:utf8 -*- import timefrom flask import Flask,g,request,make_responseimport hashlibimport xml.etree.ElementTree as ETapp = Flask(__name__)app.debug=True@app.route('/',methods=['GET','POST'])def wechat_auth(): if request.method == 'GET': token='your token' #微信配置所需的token data = request.args signature = data.get('signature','') timestamp = data.get('timestamp','') nonce = data.get('nonce','') echostr = data.get('echostr','') s = [timestamp,nonce,token] s.sort() s = ''.join(s) if (hashlib.sha1(s).hexdigest() == signature): return make_response(echostr) else: rec = request.stream.read() xml_rec = ET.fromstring(rec) tou = xml_rec.find('ToUserName').text fromu = xml_rec.find('FromUserName').text content = xml_rec.find('Content').text xml_rep = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>" response = make_response(xml_rep % (fromu,tou,str(int(time.time())), content)) response.content_type='application/xml' return response return 'Hello weixin!'from bae.core.wsgi import WSGIApplication application = WSGIApplication(app)
这一段代码实现了向公众号发送消息自动回复相同消息的功能,其中要注意的就是token要和你申请公众号进行配置时的token一致,此前网上的代码都少一句return,使得代码在BAE里不能用,报错viewfunction doesn’t return a response,记得不太清楚,大意是这样,意思就是函数缺乏返回语句,可以返回一个函数或一个字符串,具体看需要(Flask还是要好好学,不然不会犯这种错误……)。
最后,我们需要做的就是告诉百度我们使用了flask这个模块,在appid123456文件夹中新建requirements.txt文件,在其中输入flask保存关闭即可。
现在我们可以用git来同步这些文件了,在appid123456中打开终端,
git add app.conf index.py requirements.txt
git commit -m ‘^^^^^’
git push origin master
再输入用户名密码即可。
此时打开百度开放云管理中心,找到BAE的部署列表,我们可以看到提示有新版,点击快捷发布,我们就可以把微信的接口发布出去啦,再回到微信那里,url就是你申请的域名,token也在index.py里,提交以后就可以啦!
本人也是初学者,其中若有错误之处,还希望同学们指出来,并欢迎批评和建议!!^_^
- flask+BAE快速搭建微信公众号
- nodejs + BAE 搭建微信公众号开发平台
- 百度BAE搭建微信公众平台-git的使用
- 微信公众号开发 flask后台的快速部署
- 基于百度BAE快速部署微信公众号后台服务程序
- 基于百度BAE快速部署微信公众号后台服务程序
- 使用BAE部署微信公众号后台服务程序
- python开发微信公众平台 BAE
- 微信公众号开发流程(二)--微信公众平台对接BAE
- Python3-Flask-微信公众号开发
- Flask+SAE快速打造微信公众帐号
- 百度BAE JAVA环境搭建属于自己的微信公众平台接口
- 关于百度BAE搭建微信公众平台git的使用
- Python快速搭建自动回复微信公众号
- BAE上搭建flask环境
- 使用Myeclipse+Java+图灵API开发微信公众号并发布到BAE测试
- 微信公众平台接入Java实例,结合BAE
- 微信公众平台接入Java实例,结合BAE
- java中堆和栈的区别
- 日志采集之log4j2.x的使用
- Android四大组件--Service,后台播放背景音乐
- C# .Net并行(多核)编程
- Unity3d中对应各平台Path
- flask+BAE快速搭建微信公众号
- Android StrictMode 严苛模式
- jquery自定义类方法一例
- Linux 下mysql安装使用详解
- MFC师兄服务器端程序流程
- Selenium私房菜系列
- 自动化测试相关概念
- 数据库中使用Blob处理二进制数据
- POJ - 3320 Jessica's Reading Problem(尺取法)