微信公众号号开发基本设置 (python语言)

题记——今日想用python开发个微信公众号,所以哼次哼次的扒来官方文档从头来做,可是。。。。

使用python开发微信公众号

1.1、申请服务器
以腾讯云服务器为示例:腾讯云服务器购买入口,购买指导请参考快速入门linux云服务器

1.2 搭建服务
以web.py网络框,python,腾讯云服务器为例介绍。

1)安装/更新需要用到的软件
安装python3.6.5版本
安装web.py
安装libxml2, libxslt, lxml python

2)新建main.py文件,编辑代码。

	# vim main.py

编写服务器代码

	# -*- coding: utf-8 -*-
	# filename: main.py
	
	import web
	urls = (
	    '/wx', 'Handle',
	)

	class Handle(object):
	    def GET(self):
	        return "hello, this is handle view"
	
	if __name__ == '__main__':
	    app = web.application(urls, globals())
	    app.run()

3)执行命令:

# python main.py 80 。

4)url填写:http://外网IP/wx (外网IP请到腾讯云购买成功处查询)。如下图,一个简单的web应用已搭建。
微信公众号号开发基本设置 (python语言)_第1张图片

1.3 申请公众号
申请公众号网页
微信公众号号开发基本设置 (python语言)_第2张图片

邮箱激活后,选择公众号类型。不同的公众号拥有不同的能力,详情请见wiki:公众号接口权限说明,当然,服务号、企业号需要一定的证件和相关资料填写,如果证件一时不能准备好,没关系,公众号其实已注册,下次可以根据此邮箱&密码登录再选择。
微信公众号号开发基本设置 (python语言)_第3张图片

1.4 开发者基本配置
1) 公众平台官网登录之后,找到“基本配置”菜单栏
微信公众号号开发基本设置 (python语言)_第4张图片

2) 填写配置

url填写:http://外网IP/wx 。外网IP请到腾讯云购买成功处查询。 http的端口号固定使用80,不可填写其他。

Token:自主设置,这个token与公众平台wiki中常提的access_token不是一回事。这个token只用于验证开发者服务器。
微信公众号号开发基本设置 (python语言)_第5张图片

3) 现在选择提交肯定是验证token失败,因为还需要完成代码逻辑。改动原先main.py文件,新增handle.py文件

	#vim main.py

更改main.py文件内容

	# -*- coding: utf-8 -*-
	# filename: main.py
	import web
	from handle import Handle
		
	urls = (
		'/wx', 'Handle',
	)
		
	if __name__ == '__main__':
		app = web.application(urls, globals())
		app.run()

新增加handle.py文件

#vim handle.py

编写hand.py代码, 附加逻辑流程图
微信公众号号开发基本设置 (python语言)_第6张图片

# -*- coding: utf-8 -*-
# filename: handle.py

import hashlib
import web

class Handle(object):
    def GET(self):
        try:
            data = web.input()
            if len(data) == 0:
                return "hello, this is handle view"
            signature = data.signature
            timestamp = data.timestamp
            nonce = data.nonce
            echostr = data.echostr
            token = "xxxx" #请按照公众平台官网\基本配置中信息填写

            list = [token, timestamp, nonce]
            list.sort()
            sha1 = hashlib.sha1()
            map(sha1.update, list)
            hashcode = sha1.hexdigest()
            print "handle/GET func: hashcode, signature: ", hashcode, signature
            if hashcode == signature:
                return echostr
            else:
                return ""
        except Exception, Argument:
            return Argument

4) 重新启动成功后(python main.py 80),点击提交按钮。若提示”token验证失败”, 请认真检查代码或网络链接等。若token验证成功,会自动返回基本配置的主页面,点击启动按钮

官方文档开发者基本配置就写到这了,可是按照这个配置肯定是肯定做不出来的~!!因为Token验证会一直报错,显示“token验证失败”,下篇博客将详细说明错误原因及思考过程。

你可能感兴趣的:(python,centos,微信公众号)