本系列属作者原创,请尊重作者的劳动成果,转载请注明出处 , 谢谢!
我的博客地址:
http://blog.csdn.net/qicong7
免费的专业微信开发教程&源码: www.weixinpy.com
前3篇文字主要介绍了通过微信公众平台中的微信公众账号如何添加消息、菜单等;描述的比较简单,相信很多朋友看着觉得太基础;但是只有了解微信公众平台提供的基本功能,我们再进行公众账号接口进行开发才能更得心应手;
从这篇文章开始,我们就开始详细的介绍微信开发者,以及提供一些设计思路、开发源码等。今天主要介绍开发入门一些知识。
一、微信公众账号消息原理图
如果一个用户关注了公众账号,那么当给公众账号发送消息的时候,公众账号就会回复一条消息,原理如上图,这个是通过微信公众平台服务器实现的,对于收到的消息的详情页面也是由微信公众平台提供的;
详细的流程是这样的:
1、当用户给公众账号发送一条消息的时候,微信公众平台会根据公众账号定义的消息规则回复用户一条消息;
2、用户接收到消息后,查看消息详情,详情页面由微信公众平台服务器提供;
那么开发者公众账号的原理是什么样的呢?
二、微信公众账号开发者原理图
从上图可以看出,对于开发者账号来说,消息的回复、消息详情页面都是由开发者服务器提供的;
详细的流程是这样的:
1、当用户给公众账号发送一条消息的时候,微信公众平台会判断该账号是否是开发者账号,并且是否开通了开发者模式,
2、如果不是开发者账号或者使用的编辑模式,那么微信公众平台就会回复用户一条消息; 消息的详情页面也是由微信公众平台提供;
3、如果是开发者账号并开通了开发者模式,那么微信公众平台会把用户发送过来的消息转发给开发者服务器url(成为开发者时需要提供url和tocken);开发者服务器这时候根据用户发送的消息,准备消息回复给用户,也就是说开发者可以根据自己的业务准备消息,可以是图文、文本、图片、视频 等等格式,也可以是多条消息; 消息准备完毕后,将消息发送给微信公众平台,微信公众平台再返回给用户;用户收到消息后,查看消息详情的时候,消息详情页面由开发者服务器提供;
三、成为开发者账号需要什么?
这也是很多朋友经常问的,现在在这里做一下解释:
从上图可以看出如果成为开发者账号需要有自己的服务器,那么还需要哪些必须的条件呢?
1、开发者服务器;
此服务器要求可以在外网访问到,主要是微信公众平台需要调用开发者服务器的url,
2、开发者当然要会编码(IT从业人员);
针对用户发送的消息,公众账号需要准备回复消息,此消息需要通过调用微信公众平台的接口实现,所以开发者需要懂编程技术,调用微信公众平台消息接口,回复给用户;
3、部属开发者账号应用;
此应用主要是和微信公众接口对接,实现消息接收、回复、菜单创建、获取订阅用户信息、auth2.0认证、支付等等;并且此应用需要提供一个网页,展现消息的详细信息;
四、URL 和 Tocken
关于url 和 tocken,很多朋友都问这个到底是什么?
url:开发者服务器应用提供的一个网址,微信公众平台可以访问到这个网址,这样微信公众平台服务器和开发者服务器才可以通信;此url必须是外网可以访问到;
tocken:我们只给微信公众平台提供了一个url还是不够的,还需要一个标记(tocken),此tocken和url代表唯一的公众账号;
当我们提供给了微信公众平台url 和 tocken之后,公众平台会请求这个url,并发送一些数据(echostr、signature、timestamp、nonce),开发者服务器收到微信公众平台发送的数据后,进行处理加密核对数据(signature),然后将echostr发送给微信平台公众,微信公众平台进行校验,如果正确,那么就成功成为开发者了;
关于url 和 tocken 的详细设计,我们下一篇进行详细描述;敬请期待
分享到:
相关推荐
物联网-智慧传输-哈大齐工业走廊大齐规划区综合运输线网协调布局研究.pdf
哈大齐工业走廊产业总体企划策划方案.doc
大齐镇于唐线华冶钢管厂北侧.docx
唐山东港新城(丰南大齐各庄)营销执行方案.pptx
交通影响分析在哈大齐工业走廊综合规划中的应用,杨春婧,,本文分析了哈尔滨、大庆、齐齐哈尔三城市的运输线网和产业布局现状,阐述了进行哈大齐工业走廊综合规划时应注意的问题,提出了将
河北省唐山市大齐各庄乡中学2020年高二地理月考试题含解析.pdf
python & django 安装文件以及安装入门文件
2021年09月16日
利用ArcGIS的空间分析模块对大庆市的用地选址情况进行模拟。
第三届全国软件工程会议的报告:国防科大齐治昌教授的:软件工程学科建设
Pdf转png的代码,使用MuPDF,代码直接从MuPDF源代码中修改而来。 摘要必须大雨50字,那就再复制一次。 Pdf转png的代码,使用MuPDF,代码直接从MuPDF源代码中修改而来。
node.js的服务器框架,直接把你要发布在服务器上的游戏打包成网页放在框架里的一个public, 在编辑器里进入myapp路径,然后执行npm start。希望对你们有帮助
QuatoDivideEffectServiceImpl
用于缺少该脚本的用户提供下载,下载后解压,放在指定位置即可
38岁高端程序员必备!!
林锐博士编写的C/C++编程指南,从事C/C++编程的朋友值得一看的手册,从文件结构到程序的版式、表达式、内存管理……内容丰富,深入浅出。正是该文章让我意识到之前编程存在种种不规范的问题,好东西不私藏,与大家...
这是我从网上收集的几百张PS素材效果图,特分享给大家,希望有帮助!
lsforum ER图 仅供参考
杨老师(文中作者自称,没看到完整名字)写的教程,chm格式,全文18课,内容精炼,是非常好的COM教材。