微信服务号开发总体流程

一、微信的各个平台

微信开放平台,面向开发人员,为网站、App 提供微信第三方登陆功能,为 App 提供支付功能(经过客户端 sdk 拉起微信客户端);html

微信公众平台,对应的是公众号,包括订阅号、服务号、企业号,面向运营人员和开发人员,运营能够直接登陆公众号管理后台查看公众号的各类指标,开发则是经过调用微信提供的各类接口来加强公众号的功能;web

微信商户平台,用户经过微信支付的钱,最终到达商户帐号。不管是开放平台仍是公众平台,涉及到支付,都须要商户平台帐号浏览器

PS:简单提一下订阅号与服务号的区别服务器

订阅号,主要用来发文章,微信的聊天列表中会有“订阅号”这一项,里面全都是订阅号的推送;正常状况下订阅号天天只能群发一条消息,可是媒体类的除外,好比人民日报、36 氪等,就是天天能够发多条,猜想应该是能够找微信申请的,只要资质够了,就能够一天发多条吧(未实际验证过,只是猜想)。微信

服务号,顾名思义,主要是提供服务的,好比银行的服务号,你能够在服务号里面查询一些信息,看一下服务号的菜单大体就了解了服务号提供的哪些服务,服务号在微信聊天列表中是单独的一项,不会像订阅号那样合并起来。服务号其实也能够像订阅号那样群发消息,可是每一个天然月只能发 4 次,能够看出是跟订阅号的侧重点彻底不一样的,二者没有包含被包含的关系,谁也无法取代谁,也不是简单的权限高级低级的区别。微信公众平台

公众平台群发规则:http://kf.qq.com/faq/120911VrYVrA131025QniAfu.html工具

二、服务号帐号介绍

服务号是只能企业申请的,我的只能申请订阅号。服务号相比订阅号有更多的接口权限,这样服务号就能提供更多的自定义功能。学习

服务号要能提供完整的功能,还须要进行“微信认证”,提交一些公司资质信息,认证费 300 元,微信认证成功以后,才能得到完整的服务号接口权限。测试

服务号帐号的登陆仍是比较严格的,每次登陆都须要管理员扫码确认。固然,管理员能够绑定运营者微信号(http://kf.qq.com/faq/120911VrYVrA141211FbEnq2.html),这样添加为运营者的人就能够本身扫码登陆了,不须要每次都“惊动”管理员微信支付

三、服务号管理后台介绍

登陆到管理后台,运营能够直接在管理后台进行一系列操做,例如:

公众号设置:设置关注公众号后发送给用户的欢迎语,设置关键词回复规则和内容,设置收到消息自动回复内容,自定义菜单

运营操做:群发消息,回复用户消息

查询统计:用户分析、菜单分析、图文分析、消息分析

四、服务号开发

至此,开发终于登场了~~~

先来看一下开发以前须要进行的一系列配置。

服务号管理后台左边栏最下面有一项“开发”,咱们来一次看一下各个子项

基础配置

  • 公众号开发信息,AppID 和 AppSecret 是必需的,其中 AppID 是能够暴露的,可是 AppSecret 是绝对不能暴露的。在管理后台里面也是不显示的,设置是没法查看的,要是忘记了,那只能重置(初始化或重置的时候是能够看到的,若是错过了这个时机,那后面就看不到了)。若是重置,就会影响已有服务,因此必定要备份好 AppSecret,同时不要泄露。
  • IP 白名单,须要填写开发环境、测试环境、正式环境的服务器 IP,只有白名单中的 IP 才容许请求微信获取 access_token,有了 access_token 才能有权限调用微信的各类接口。access_token 的具体介绍,参考公众平台文档--获取 access_token(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183),这里再也不赘述。 服务器配置,参考公众平台文档--接入指南(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319),这里再也不赘述。

注意,若是服务器配置开启,则至关于服务器彻底接管服务号,甚至能够夸张的说,有了服务器接收微信服务端的全部推送事件,服务号管理后台就能够废弃了。服务器配置开始后,管理后台有一些配置就失效了,好比,自动回复功能,不能在后台配置了,只能经过程序回复;自定义菜单,也只能经过程序来设置,不能再页面上设置了。 有了上面的这些配置,就能够开始开发、调试公众平台接口了。

开发者工具

  • 开发者文档,文档对于开发者的重要性就不用说了,
  • 在线接口调试工具,方便直接调试公众平台接口,不用开发者本身写调试程序,
  • web 开发者工具,至关于一个能够在 pc 上运行的微信浏览器,方便模拟手机微信,
  • 公众平台测试帐号,这个是很是有帮助的,尤为是在服务号未进行微信认证的状况下(不少接口尚未开放)。在这个测试帐号里面基本上全部的接口权限都开放,在开发测试阶段是很是有帮助的

接口权限

能够查看全部接口是否有权限调用。部分接口还须要额外的配置,好比:网页受权获取用户信息,须要配置网页受权域名

介绍到这里,以后的开发就须要结合公众平台文档,自力更生了。虽然微信的文档不是特别条理,可是只要耐心一点,仔细一点,基本仍是比较顺利的。

五、公众平台与开放平台打通

公众号,能够拿到关注用户的信息,openid、昵称、头像;

开放平台,第三方登陆也能够拿到用户的信息,openid、昵称、头像;

其中,昵称、头像是相同的,也都是用户本身随时能够修改的,若是要惟一肯定一个微信用户,只能经过微信 id。

可是,

公众平台的 openid 是用户在公众号里面的惟一 id,换了公众号,openid 也会跟着变;

开发平台的 openid 是用户在开发平台里面的惟一 id,与公众平台的 openid 是不一样的。

因此没法经过 openid 来惟一肯定一个用户。

微信为了解决这个问题,提供了 unionid,只要公众平台、开放平台是关联起来的,那么同一个微信用户即便是在不一样平台里面也都是相同的 unionid

平台之间打通,须要再开放平台中绑定公众号,绑定成功后,不管是在哪一个平台获取用户信息,都会携带 unionid 字段,开发者能够根据 unionid 将不一样平台下的同一个用户识别出来。


本文没有介绍相关代码,只是对整个开发过程的一个梳理和总结,若是能对你们,尤为是新手,有些许帮助,我也感到很是荣幸。

欢迎你们批评指导,交流学习~~~

相关文章
相关标签/搜索