Python+Tornado开发微信公众号(二)

四. IOLoop定时获取access_token和jsapi_ticket

3.Redis数据库

如果有对Redis不了解的同学,可参考Redis快速入门

basecache.py

tokencache.py

4. 使用tornado的Ioloop实现定时获取access_token和 jsapi_ticket,并将获取到的access_token和 jsapi_ticket保存在Redis数据库中

wxconfig.py

wxshedule.py

run.py将定时器的启动放在主程序入口处,保证每次启动服务器时,重新启动定时器

五. 自定义菜单及点击菜单时获取openid

1. 编写菜单对应的html页面

先在template模板文件夹下制作一个html页面,用于点击自定义菜单时跳转到的网页.

编写一个页面处理类,用于接收tornado.web.RequestHandler请求

给PageHandler添加url规则

2.创建一个菜单,并给菜单添加获取授权code的URL

以下是微信公众平台官方文档给出的具体流程,详见 网页授权获取用户基本信息

我们希望在用户点击自定义菜单时,需要先获取用户的openid,以便从我们自己的后台中通过该openid获取这个用户更多的信息,比如它对应的我们后台中的uid等, 如果我们后台中没有这个用户,则需要执行绑定等操作.

因此我们需要给这个自定义菜单按钮添加一个对应的URL,点击这个菜单,跳转到这个URL,这个URL会触发获取code操作,获取到code后,通过获取授权的access_token接口,获取openid及access_token

(1) 给菜单添加url,及state映射关系

state为自定义字符串,可以用来标识是用户点击了哪一个菜单,放在一个dict字典中,当前我们制作的第一个菜单就对应/page/index映射

附:涉及到的主要程序代码如下:

wxconfig.py

wxauthorize.py 中的 WxAuthorServer类

wxmenu.py

wx_handler.py

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程坑太多

『中级篇』数据持久化之bind Mounting(35)

PS:bind mount 需要指定 host 文件系统的特定路径,这就限制了容器的可移植性,当需要将容器迁移到其他 host,而该 host 没有要 moun...

551
来自专栏编程坑太多

『中级篇』数据持久化之bind Mounting(35)

PS:bind mount 需要指定 host 文件系统的特定路径,这就限制了容器的可移植性,当需要将容器迁移到其他 host,而该 host 没有要 moun...

814
来自专栏Java成神之路

Java微信开发_Exception_03_errcode:48001 errmsg:api unauthorized hint

异常信息:errcode:48001 errmsg:api unauthorized hint

724
来自专栏Python小屋

Python实现定时自动关闭的tkinter窗口

功能简要说明:程序运行后10秒钟自动关闭。 技术要点:tkinter应用程序的destroy()方法,多线程编程。 代码截图: ? 运行效果: ?

2996
来自专栏xingoo, 一个梦想做发明家的程序员

JSP Session管理

  本篇讲述JSP中session的相关知识和管理方法;   先说说cookie与session   在web中常用的两种用户信息管理方式:cookie 和 s...

1967
来自专栏抠抠空间

Flask使用SQLAlchemy连接mysql

1323
来自专栏我的博客

开发属于自己的composer

1.新建一个git仓库 备注:可以在github建立,如果要建立私有的composer,可以自己搭建git仓库 2.初始化composer文件 执行compo...

34911
来自专栏散尽浮华

分布式监控系统Zabbix--完整安装记录 -添加web页面监控

通过zabbix做web监控,不仅仅可以监控到站点的响应时间,还可以根据站点返回的状态码或响应时间做报警设置,比如说对某个url进行监控,当访问返回的状态码是非...

1839
来自专栏优启梦

对wordpress增加禁止非中文评论代码

很多用wordpress的小伙伴可能都遇到过,博客建成以后经常会有一些垃圾评论,评论内容全是英文、日文或者数字,邮箱和IP每次也都不一样,他们的主要目的就是为了...

3876
来自专栏张善友的专栏

另一个强大的Visualizers :Mole For Visual Studio

前面介绍了一个 好用的WCF Visualizers ,这里有一个可以看几乎开发中应用到对象的,叫做Mole,最新版本是 4.2。安装和说明看这里:http:/...

1746

扫码关注云+社区