大齐玩转微信公众账号系列(四):微信公众账号开发入门(原理)

本系列属作者原创,请尊重作者的劳动成果,转载请注明出处 , 谢谢!

我的博客地址:[url]http://blog.csdn.net/qicong7[/url]

[b][color=red][size=large]免费的专业微信开发教程&源码: [url]www.weixinpy.com[/url][/size][/color][/b]


前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 的详细设计,我们下一篇进行详细描述;敬请期待
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值