上篇文章 <微信个人公众号开发-先搭个免费的服务器吧(AWS EC2)> 和大家分享了如何搭建免费的微信个人公众号开发所需要的后台服务器.
这篇就来继续说说如何让你的公众号与后台服务器交互.
一. 微信公众号接口准备
这里我们要用前面搭建的aws服务器上部署的flask web应用来为微信公众号提供接口.
修改flaskserver.py
nano /var/www/flaskserver/flaskserver.py
# coding=utf-8
from flask import Flask
APPlication = Flask(__name__)
wechat_token='mymytoken'
def check_signature(signature, timestamp, nonce):
token = wechat_token
tmp_arr = [token, timestamp, nonce]
tmp_arr.sort()
tmp_str = tmp_arr[0] + tmp_arr[1] + tmp_arr[2]
sha1_tmp_str = hashlib.sha1(tmp_str).hexdigest()
if (sha1_tmp_str == signature) :
return True
else :
return False
@application.route('/wechat/', methods=['GET', 'POST'])
def respond():
signature = request.args.get('signature', '')
timestamp = request.args.get('timestamp', '')
nonce = request.args.get('nonce', '')
echostr = request.args.get('echostr', '')
if request.method == 'GET':
if check_signature(signature, timestamp, nonce) :
return echostr
else :
return 'Not Valid!'
else :
xml_recv = ET.fromstring(request.data)
#text,image,voice,location ...
MsgType = xml_recv.find("MsgType").text
ToUserName = xml_recv.find("ToUserName").text
FromUserName = xml_recv.find("FromUserName").text
replyContent = ""
if(MsgType=="text"):
replyContent = xml_recv.find("Content").text + " hello"
reply = "
<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>"
re_msg = (reply % (FromUserName, ToUserName, str(int(time.time())), replyContent))
return re_msg
他哥的, 这破编辑器把格式都给整没了, 谁能告诉我怎么在头条高亮代码????????? 我还是把代码截个图, 大家看下代码层次.
以上代码包含了微信API调用认证过程和一个简单的用户文本消息处理过程. 如果用户发送任意字符, 该接口将会将此字符 后面加上" hello"后返回.
另请记录代码中的wechat_token, 后面微信公众号后台配置需要用到.
关于来往的信息格式, 大家可以查看微信官方的开发文档(mp,weixin,qq,com/wiki), 灰常详细, 这里就不细究下去.
二. 微信公众号申请
关于公众号申请, 按照引导步骤相信大家都能顺利申请成功.
需要注意的是: 所谓微信公众号,其实有很多细分,有订阅号,服务号,企业号. 具体区别见下图.
对于开发来说, 最大的区别就是功能权限的区别. 那么当然, 按一般套路来的话, 就是花钱的才玩的好.
可以看到, 如果个人玩,就当选订阅号, 但不要看这个图里好像普通订阅号和微信认证订阅号是一样的功能,其实 不!一!样!
个人订阅号现在无法进行微信认证, 也就是说会少很多功能. 但是但是但是, 这个个人订阅号需要的申请材料最少, 最容易上手,是作为研究练手的最佳选择, 所以本文就是以个人订阅号为例, 给大家看下后台开发原理是怎么实现的.
三. 添加服务器配置
申请个人订阅号成功后, 可以登录到公众平台后台系统.下面我们直奔主题, 添加服务器配置.
在左侧导航栏最下部分选择</>开发 -> 基本配置:
右侧基本配置, 打钩同意,成为开发者.之后会分配给你一个开发者ID.
在服务器配置栏, 点击 修改配置
4. 打钩, 同意成为开发者.
5.点击 修改配置按钮.
相关影片资源迅雷下载推荐
各个品牌挤破头要做公众号开发,原因竟然是这些?
微信公众号现已经成为品牌文化推广的主流,为什么大家都愿意去开发公众号?公众号的优势是什么?传播高效、互动性高 微信建立起来的社交网络,微信公众号是完全受用的。微信用户群体大,主要传播途径都是熟人传播, ...
公众号开发,各个品牌挤破头要做公众号开发,原因竟然是这些?
6. 按照截图填写好相关信息后,点击提交.
注: URL要填你服务器的地址, 后面的/wechat/也属于自定义,可加可不加, 看服务api具体实现.
提交时公众号平台回去和我们的API交互验证, 只有验证通过了才算提交成功. 提交成功之后, 就迫不及待的点击 启用按钮吧:)
启用时, 会弹框提醒你, 消息会转发到设置的服务器上, 然后自定义菜单就不能用了blablabla, 先不管, 确定走起.
呐, 到这里呢, 基本上就打通啦, 快关注你的公众号调戏一下吧
五. 菜单
微信公众号,咋能没有个菜单呢. 但个人订阅号提供的菜单傻瓜得很, 没有高级功能,只能链接文章. 不过有总比没有好.
但是但是但是, 鸡脚和鸡肋不能兼得?
这不坑爹呢么, 你这菜单又不能和后台互动, 这么矫情作甚?
共存方法还是有的, 只不过有点绕, 具体是这么个绕法:
先去开发者中心把服务器配置停掉.
然后回到自定义菜单里编辑你的菜单.
再回去把服务器配置开起来.
点击添加功能插件, 选择 自定义菜单.
点击开启
大功告成, 菜单和服务器配置从此幸福滴生活在一起了.
五. 其他配置-微信服务器列表
上篇搭建服务器文章中提到我们挂在外面的服务器可能会被恶意爬虫骚扰, 需要将微信的服务器列表加入到aws 的入站白名单为妙.具体服务器列表获取方法,请参照官方实例获取.
六. 结语
好啦, 此文到此结束, 欢迎拍砖交流.
企业网站建设与开发最低只要299元起,包含域名服务器,需要的联系QQ345424724,电话15516990022,18530226930相关影片资源迅雷下载推荐
软件开发的坑,老板们别再踩了
软件开发的坑,老板们别再踩了导读:为避免损失和项目难产,选择技术开发公司之前,记得联系小编免费咨询下哦!1、 系统功能缺陷,项目胎死腹中: 某些软件公司利用创业者急于求成和不懂技术,空手套 ...
软件开发,软件开发的坑,老板们别再踩了
标签: 公众号开发 微信个人公众号开发-打通后台服务器任督二脉
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。