C#微信开发小白成长教程一(公众平台的工作原理与调试环境部署,附视频)

黑夜给了我黑色的眼睛,我决定录视频到天明。半年前的现在,我还在苦逼着加着班,半年后的今天我依旧苦逼着加着班。不过现在的是为自己加班,作为一个资深程序小白,一个月前我光荣的成了一个不称职的资本家,不称职的原因有二:一是我人丑钱少脸皮薄(没有资本),而是我先阶段还只能剥削我自己。

回想着半年的历程,好像发生很多事。从由于辛辛苦苦准备的微信培训资料被公司的同事忽视而在博客园写下的第一篇微信教程,到电子出版社的编辑联系到我商讨出版的事,从签订出版合同到开始写下书的第一个字,从每天加班到凌晨回去还得加班写会书再到前段时间的全职写我的这个处女作。冷暖自知。

距离上次写博客已经过去差不多四五个月了,但现在回头看看之前的博客感觉还是差点什么。推到重写也是需要勇气的,因为现在对于我来说自由的时间相对多些,可以持续的更新我的这个系列教程,希望能帮助更多的朋友进入微信开发者的行列。

废话少说了,说说写这样一篇博文的原因吧。说实在的,在平常在群里和其他微信开发者进行交流的时候发现好多人都不是很了解微信的工作原理, 微信的接口原理,以至于遇到点小问题就在群里问,其中也不乏一些有一定微信开发经验的朋友。所以本篇博文也算是微信开发的脱盲引导篇了吧

感觉上面还是废话。。。。。。。。。。。。。。。。。。

工作原理

直观上,我们看到的微信公众号的工作流程是这样的:用户发送消息或者点击公众号的自定义菜单,服务器收到用户的请求后,根据业务逻辑回复给用户对应的消息,如文本、图文、视频、音频等。学过网络的人看着一定很熟悉,这就是典型的http请求。

image

http请求方式

微信公众平台的自动回复功能就和http的原理一致,而开发者根据微信官方提供的接口来定制自己的公众平台时,就稍微有点差别了。首先,当用户在微信里给公众号发送消息或者点击微信自定义菜单时,微信手机客户端将这条消息发送到微信服务器,其次,微信服务器收到用户的请求后,根据具体的业务逻辑再将消息推送给开发者设置的url,这个url对于微信服务器来说就是一个服务器,微信服务器此时充当的是客户端的角色,开发者的服务器收到微信服务器推送过来的请求后,根据微信提供的规则解析出用户发送的消息内容,然后再根据具体的业务逻辑将响应的内容回复给微信服务器,微信服务器再返回给用户。在整个过程中,开发者的服务器对于用户来说是透明的。如下图所示:

image

微信开发者需要做的就是开发者服务器这一块的业务,然后结合微信提供的其他一些功能接口进行开发。 如用户管理、素材管理、微信支付、微信小店等。

个人觉得可以将微信的接口分为两类:一类是被动请求接口,就是类似于上图所示的用户主动发送消息,开发者解析消息内容后进行回复。这种类型的接口是微信主动请求开发者的程序,数据传输使用XML格式数据。另一类主动请求接口,比如获取access_token接口,由微信服务器提供接口,开发者只需按照接口的请求方式,数据格式进行调用即可,这种接口的数据传输使用的是JSON格式数据(微信支付相关接口是个例外,使用的是XML格式)。总结一下就是:被动请求接口是开发者按照微信的规定协议进行接口开发,由微信服务器进行调用。而主动请求接口就是微信接口开发完毕后,将调用协议告诉开发者,由开发者进行调用。 所以两种场景下,开发者的服务器与微信服务器之间的角色是在变化的。

HTTP请求与响应

   以上的两种类型,不管是微信服务器作为客户端还是开发者的服务器作为客户端,请求的方式都是基于HTTP的。所以在此简单讲下HTTP请求怎么调用接口的。在此给大家推荐一个工具(谷歌浏览器的插件postman),这个插件可以很方便的发起HTTP请求。如下图所示:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzsxfd.html