Flask + SAE 接入微信公众平台
来源:互联网 发布:看门狗画面设置优化 编辑:程序博客网 时间:2024/06/05 03:20
一些文档
Flask 文档 http://dormousehole.readthedocs.org/en/latest/
微信公众平台接入说明 http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html
新浪SAE部署Flask 说明 http://www.sinacloud.com/doc/sae/python/tutorial.html#shi-yong-web-kai-fa-kuang-jia
微信公众平台测试账号申请 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
一、创建新的SAE应用
创建新的SAE应用,代码管理可以选择SVN,或者Git,我选择的SVN,客户端使用TortoiseSVN,这样可以在本地修改文件后提交即可,当然也可以使用SAE的在线编辑器。然后创建一个代码版本。
二、代码修改
在应用中创建一个myapp.py的python文件,可以直接在SAE的在线编辑器中创建,也可以用SVN check到本地后,创建后提交,现在整个应用一共有config.yaml、index.wsgi、myapp.py 这3个文件,暂时需要修改的是index.wsgi和myapp.py这两个,index.wsgi是整个应用的入口,参考SAE部署Flask的说明进行修改即可。
index.wsgi
import saefrom myapp import appapplication = sae.create_wsgi_app(app)
myapp.py
from flask import Flask, request, make_responsefrom hashlib import sha1app = Flask(__name__)@app.route('/')def index(): return "Hello,World!"@app.route('/check', methods=['GET', 'POST'])def check(): if request.method == 'GET': token = r'test' # 这个根据自己的设置自行修改 signature = request.args.get('signature', '') echostr = request.args.get('echostr', '') timestamp = request.args.get('timestamp', '') nonce = request.args.get('nonce', '') tmp = [timestamp, nonce, token] tmp.sort() tmp = ''.join(tmp) if signature == sha1(tmp).hexdigest(): return make_response(echostr) else: return "Access denied."if __name__ == '__main__': app.run()这段代码是根据微信公众平台接入说明写的,官方示例只有PHP的,这里是Python Flask版本的。(如果代码直接复制报错的话把注释删了再试一下)
获取请求参数的方法在Flask的文档当中可以找到。
三、配置微信公众平台
登录微信公众平台http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 登录后的界面如图:
打开之前建好的SAE应用的代码管理界面,找到下面的链接。
先把这个链接复制到微信公众号设置的URL一栏,然后根据自己Flask程序设置的路由进行修改,我的后面要加上 /check
Token设置与程序当中的要一致。点击提交能够提示配置成功即可。这里基本的配置已经完成,剩下的部分就是不断完善程序的功能了。
- Flask + SAE 接入微信公众平台
- 【微信公众平台】SAE接入
- 微信公众平台接入
- 微信公众平台接入
- 微信公众平台接入
- 微信公众平台接入
- 接入微信公众平台
- SAE 搭建微信公众平台
- Flask+SAE快速打造微信公众帐号
- 微信公众号+Flask+新浪SAE 配置
- 微信公众平台接入机器人小黄鸡
- 微信公众平台接入方式
- java接入微信公众平台
- 微信公众平台接入指南
- PHP接入微信公众平台
- 微信公众平台 java 接入 1
- 微信公众平台java接入
- 微信公众平台开发(sae开放平台)
- HDU 3001 Travelling(状压dp)
- 初学,C语言日历制作
- HashMap的实现原理
- solr5.3.1 集群服务搭建(转)
- pcl 1.6 + vs2013 + openmesh 3.3 配置
- Flask + SAE 接入微信公众平台
- css实现屏幕自适应(仿谷歌静态页面)
- 【Java Socket】入门系列 2.1.Java网络相关API — InetAddress类的应用
- hdu 1166 敌兵布阵(树状数组)
- android Broadcast 生命周期详细分析
- Myeclipse 新建工作空间 后的几个 配置
- C语言学习笔记 运算符初步介绍
- Activity之设置横屏、全屏和窗口模式的Activity
- Python爬虫入门(1):综述