微信公众帐号开发教程第 1 篇-引言...............................................................................................2
微信公众帐号开发教程第 2 篇-微信公众帐号的类型(普通和会议)...................................... 3
微信公众帐号开发教程第 3 篇-开发模式启用及接口配置........................................................ 7
微信公众帐号开发教程第 4 篇-消息及消息处理工具的封装.................................................... 17
微信公众帐号开发教程第 5 篇-各种消息的接收与响应............................................................ 39
微信公众帐号开发教程第 6 篇-文本消息的内容长度限制揭秘................................................ 45
微信公众帐号开发教程第 7 篇-文本消息中换行符的使用........................................................ 49
微信公众帐号开发教程第 8 篇-文本消息中使用网页超链接.................................................... 51
微信公众帐号开发教程第 9 篇-QQ 表情的发送与接收.............................................................53
微信公众帐号开发教程第 10 篇-解析接口中的消息创建时间 CreateTime...........................61
微信公众帐号开发教程第 11 篇-符号表情的发送(上)..........................................................63
微信公众帐号开发教程第 12 篇-符号表情的发送(下)..........................................................76
微信公众帐号开发教程第 13 篇-图文消息全攻略......................................................................85
微信公众帐号开发教程第 14 篇-自定义菜单的创建及菜单事件响应......................................95
微信公众帐号开发教程第 15 篇-自定义菜单的 view 类型(访问网页)............................. 117
微信公众帐号开发教程第 16 篇-应用实例之历史上的今天....................................................123
微信公众帐号开发教程第 17 篇-应用实例之智能翻译............................................................132
微信公众帐号开发教程第 18 篇-应用实例之音乐搜索............................................................140
微信公众平台开发教程第 19 篇-应用实例之人脸检测............................................................152
微信公众平台开发教程第 20 篇-新手解惑 40 则..................................................................... 169
微信公众平台开发教程第 21 篇-“可信网址”白名单............................................................175
微信公众帐号开发教程第 1 篇-引言
接触微信公众帐号已经有两个多月的时间了,在这期间,除了陆续完善个人公众帐号
xiaoqrobot 以外,还带领团队为公司开发了两个企业应用:一个是普通类型的公众帐号,另
一个是会议类型的公众帐号。经过这 3 个公众帐号的开发,对目前微信公众平台开放的 api
算是比较熟悉了,像文本消息、图文消息、音乐消息、语音消息、位置消息等全部用到过,
菜单也使用过。所以,就有了写微信公众帐号开发教程的想法,将学习到的技术经验分享出
来,帮助更多需要的朋友,也希望借此认识同行的朋友,共同交流,共同进步!
下面将对即将推出的微信公众帐号开发系列连载教程做简单的说明。教程主要是面向有一
定 Java 编程基础的朋友,不打算从编程语言开始讲起,一是考虑到自己没有那么多时间和
精力(要上班、装修、学车等),二是怕等我把编程语言讲完,微信公众帐号又发生了大变
化,这样教程就显得有点过时,没有吸引力了,所以只能是有侧重点的介绍。至于内容方面,
大概会涉及到:
1)前沿知识:微信公众帐号的分类、两种模式各自的特点和区别、开发模式的配置使用等;
2)API 中各类消息的使用(我已经对 api 进行封装并打成了 jar 包,到时候会考虑分享出来);
3)微信公众帐号开发中的小技巧(如换行、通过代码发送表情、屏幕飘雪花、表情的接收
识别、在 Android 和 iOS 上表现不一致等等);
4)与业务系统对接的方法(链接、短信等,除了技术讲解还会做一定的分析对比);
5)微信公众平台上常见功能的开发(如像小黄鸡那样的人机对话、天气预报、精确的定位
及百度地图的使用、音乐搜索、语音识别解析等)
当然,具体写出来的内容肯定不止这些,但一定会包含以上介绍的所有内容。
我也不知道多久能写完这些内容,当然是越快越好,我会尽全力的。希望正在看博文的你通
过微信关注 xiaoqrobot 或者在博客留言支持,给我动力,谢谢!
开发 xiaoqrobot 就是为了学习微信公众帐号开发,将 api 开放出来的各类消息都体验了。虽
然现在看来有点大杂烩的意思,但还是比较实用的,一款生活、娱乐的好帮手,目前已有
370 多关注者。周边搜索功能定位比较准确(解决了纠偏问题,能精确到十米范围),平时
出门在外搜美食、ATM 机、厕所、超市等再方便不过了,还提供路线导航;聊天唠嗑功能
是我自己开发的,后面的连载教程很多内容都会从中抽取出来,下面是主界面截图,对系
列连载教程有所期待的朋友很建议关注体验下,做的不好的地方也请多提意见,除了技术本
身外,体验也是我比较重视关注的。
微信公众帐号开发教程第 2 篇-微信公众帐号的类型(普通和会
议)
个人公众帐号与企业公众帐号
记得在两个月前,我在微信官方开发群里问个人公众帐号与企业公众帐号有什么区别的时
候,还被人笑话过,没有人愿意告知,也许是这个问题问的太过于简单了吧。我想一定也还
有不少朋友在刚接触时,也搞不清楚这一点。其实,在注册微信公众帐号时,是不区分个人
帐号与企业帐号的,它们需要填写的注册资料是一样的,这个区别仅仅是帐号申请成功后在
使用用途上的区别罢了。然而,在注册公众帐号时的确有个类型可以选择,但并不是选择个
人帐号与企业帐号,那有些什么类型可以选择呢?这也正是今天我想讲的主题,请继续往下
看。
注册时可选择的两种帐号类型
微信公众帐号注册的最后一步是填写“公众号信息”,最后一个选项是选择“类型”,它有二个
值可供选择“普通公众帐号类型”和“公众会议帐号”。当我们选择“公众会议号”时,下方会出现
醒目的红字“提醒:会议号是有一定时间限制的公众帐号,过期后将无法登录使用。”,如下
图所示。
那注册时到底应该选择哪个类型呢?这就需要我们对两种类型有一定的了解才好做出判断。
下面将主要通过介绍公众会议帐号与普通公众帐号的区别来进行说明。
公众帐号与普通帐号的区别
在注册好的公会会议帐号的“设置”一栏里,可以看到“会议号设置”项,如下图所示:
其实会议帐号与普通帐号的区别在“会议号设置”里就能全部体现出来,它们的区别有以下
三点:
1)有效时间
普通帐号是创建后永久有效的,而会议帐号的有效期只有一个月,一个月后帐号就失效了。
帐号失效后登录微信公众平台时,会提示“该公众会议号已经过期,无法再登录使用”,如下
图所示:
帐号失效后已关注了会议帐号的用户继续使用时,会提示“该公众帐号已过期,无法下发消
息”,但如果是有菜单权限的会议帐号,仍然可以通过菜单获取信息,帐号过期后菜单的响
应没有被禁止,如下图所示:
从上图可以看到,会议帐号过期后,无法再通过文本获取消息,但点击菜单是可以继续使用
的,图中的图文消息“峰会概况”就是点击菜单后返回的。
2)关注权限
普通帐号任何人都可以关注,没有权限限制。会议帐号是可以设置关注权限的,分为两种:
任何人都可以关注和需要通过验证才可以关注,不进行此项设置时默认是前者。如果设置为
需要通过验证才可以关注,就有点类似于微信添加朋友时的验证一样,只不过这里的验证问
题是可以设置的,并且如果你设置的验证消息是类似于询问用户身份的,例如“请问您的真
实姓名叫什么?”,你还可以勾选“将验证消息作为备注名”,这样就很好辩认所有关注了会议
帐号的人。
3)参与人相互可见
普通帐号的关注者之间是不可见的,而会议帐号的关注者之间是相互可见的,这是什么意思
呢?在会议号设置里,如果勾选了“参与人相互可见”,那么在关注了该会议帐号后,能够在
帐号详细资料里看到多了一项“与会者”,点击它将会显示所有关注了该会议帐号的微信号列
表,并且点击某个参与人还可以查看详细资料、申请加为朋友等。
这是会议帐号比较给力的一个功能,方便参加会议的人相互认识。
以上三点是会议帐号的特点,也是与普通帐号的区别。可以看出,会议帐号是在普通帐号功
能的基础上增加了帐号有效时间限制(一个月)、关注权限和关注者相互可见三个功能。
其实,微信目前对会议帐号的支持还远远不够。比如像会议主题、时间、地点等会议的常规
属性设置都不支持,还有会议通常都会有的签到、互动、投票等环节也没有任何体现,更没
有考虑到周期性的会议,希望微信后期的版本对这块的支持力度更大。
微信公众帐号开发教程第 3 篇-开发模式启用及接口配置
编辑模式与开发模式
微信公众帐号申请成功后,要想接收处理用户的请求,就必须要在“高级功能”里进行配置,
点击“高级功能”,将看到如下界面:
从上图中可以看到,高级功能包含两种模式:编辑模式和开发模式,并且这两种模式是互斥
关系,即两种模式不能同时开启。那两种模式有什么区别呢?作为开发人员到底要开启哪一
种呢?
编辑模式:主要针对非编程人员及信息发布类公众帐号使用。开启该模式后,可以方便地通
过界面配置“自定义菜单”和“自动回复的消息”。
开发模式:主要针对具备开发能力的人使用。开启该模式后,能够使用微信公众平台开放的
接口,通过编程方式实现自定义菜单的创建、用户消息的接收/处理/响应。这种模式更加灵
活,建议有开发能力的公司或个人都采用该模式。
启用开发模式(上)
微信公众帐号注册完成后,默认开启的是编辑模式。那么该如何开启开发模式呢?操作步骤
如下:
1)点击进入编辑模式,将右上角的编辑模式开关由“开启”切换到“关闭”,如下图所示: