您好,欢迎来到微智科技网。
搜索
您的当前位置:首页手把手教你入门微信公众号开发

手把手教你入门微信公众号开发

来源:微智科技网

这是一篇关于微信公众号开发的入门指南,较为详细地介绍了开发微信公众号的基本原理,并且有相应的代码实现。如果您正打算要做公众号开发,却又苦于找不到一份简洁明了的入门级教学文档,那么这篇博客应该能解决您的问题。

缘起

尽管很多人吐槽王者荣耀里的小学生太坑爹,但不得不承认,近年来腾讯的变现能力确实强大地吓人。这之中微信和QQ作为用户的入口,起到了很大的作用。特别是微信,已然是一款装机必备的全民软件,如何借助这个庞大的平台搞点事情,分享下微信带来的用户红利,也就成为一件很值得研究的事。微信公众号是个人或者企业的一个宣传平台,通过开发微信公众号,可以给关注公众号的用户提供更多定制化的服务,进一步可以将服务转化为效益。本文旨在给正准备做微信公众号开发的朋友分享一点经验,从而尽快熟悉微信公众号开发的整体流程。在此基础上可以继续去学习一些高级的开发技巧(比如微信支付、账单系统之类的),让自己的公众号更加地精(zhi)美(qian)。

磨刀不误砍柴工

微信公众号大家肯定都用过。目前微信公众号主要分为订阅号和服务号,每种账号又分为未认证和已认证,它们的差别主要在于具有不同的接口权限,下图(引用自)是一些例子:

总体来说,服务号权限 > 订阅号权限,认证账号权限 > 未认证账号权限。申请订阅号比较简单,服务号相对复杂点,另外要认证的话还要额外提交一些材料。我们可以根据不同的业务需求去申请不同类型的账号,基本上常用的权限列表已经可以满足大部分的场景。

到这里我们可以知道,所谓的微信公众号开发,其实就是编写业务代码来处理用户的动作请求。这里面会涉及到和微信服务器之间的通信,也就涉及到一些安全认证方面的知识,后文会通过一个实际的例子进行说明。现在,就让我们来看看具体的流程吧。

巧妇难为无米之炊

开发微信公众号需要准备以下两样食材:

微信公众号

微信公众号可以在上申请。前文说过,微信公众号分为几种类型,不同的类型具有不同的权限,具体的权限列表可以查看。值得注意的是,现在已经不再支持个人类型的公众账号申请微信认证。申请的过程无非是填写下邮箱和信息,建议使用QQ邮箱,毕竟是自家的东西。

服务器

由于我们的服务器需要与微信服务器进行交互,因此必须能够让微信服务器可以访问到。很多公司都提供了云服务器租赁,价格不一,可以自行申请,细节在此不表。如果不想花钱申请,也可以使用一些穿透工具,将本地的IP暴露到公网中供外部访问,具体的工具请自行百度,不过大部分软件稳定性无法保证,而且分配的域名经常改变。个人建议还是申请一台服务器比较方便,等以后公众号运营良好开始涨(ying)粉(li)了,这些都不是事~

撸起袖子加油干

以下是详细步骤:

开启公众号开发者模式

为了让微信服务器知道开发者服务器的存在,必须在公众号后台进行相应的配置。
(1) 登录,找到左边功能栏的最下方,有一个基本配置的选项

(3) 点击提交按钮,提示配置失败。这是自然的,因为我们还需要在开发者服务器上进行配置,才能完成验证的过程。

编写服务器业务逻辑

前面我们完成了微信服务器与开发者服务器的相互认证过程,接下来我们需要编写业务逻辑代码来处理微信服务器发送过来的信息。以文本消息为例,当用户在公众号页面发送了消息后,微信服务器会将这条消息封装成如下的XML格式,并将其作为请求的内容向开发者服务器发起一个POST请求:

各个字段的具体含义就如字段名所示,比较直观。我们首先需要解析这个XML对象,并提取出各个字段用于后续的处理:

解析之后,我们可以在主函数中根据消息的不同类型,来调用不同的处理函数得到相应的处理结果,然后我们要将处理结果封装成同样的XML格式返回给微信服务器,封装XML对象的代码如下所示(以文本消息为例):

至此,我们就完成了一个简单的回复流程(虽然目前这种只能回复文本消息==)。

更上一层楼

以上就是一个基本的微信公众号开发流程。当然,想要让我们的公众号变得多姿多彩,需要掌握的内容还有很多。比如

(1) access_token:前面我们所做的实际是被动回复消息,微信服务器发起POST请求,我们将处理后的内容借由微信服务器返回给用户。如果我们需要主动地和用户进行交互,比如主动地向用户发一条消息,我们就需要调用微信公众平台提供的相应接口,并且需要主动告诉微信服务器我们的身份,这是通过access_token实现的。

access_token是微信公众号的全局唯一接口调用凭据,公众号在调用各个接口时都需要使用access_token

如上所述,在我们调用各个接口前,需要先使用公众号的appidappsecret信息(这两个值可以从微信公众号的网页上查看)向微信服务器请求获取access_token,然后带着这个值去调用微信公众平台提供的接口,实现相应的功能。

(2) 微信网页开发:网页开发就是指编写一系列的HTML5页面,并在微信公众号中引导用户打开我们开发的页面,从而实现相关的业务逻辑,这一功能使得公众号可以像一个内嵌在微信当中的应用一样,能够实现非常复杂的交互逻辑,而且相比于通常的应用来说更加小巧。

从这里出发

以上就是本文的主体内容。楼主经验尚浅,斗胆提笔撰文,有不当之处欢迎各位指出。本文主要是一个入门的简介,后续的开发还有很多内容要学,以下列出一些个人认为比较不错的文档和资料,楼主也从中学到了很多,在此感谢各位作者。

(1)
(2)
(3)
(4)

本文中的代码已上传到github,里面包含了微信公众号一些常用功能的实现,仅供参考:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务