微信公众平台应用开发:方法、技巧与案例
作 者: 柳峰 著
出版时间: 2014
内容简介
《微信公众平台应用开发:方法、技巧与案例》是目前微信公众平台应用开发领域内容最全面、系统和深入的一本书,也是技术版本最新的。由著名的资深微信公众平台应用开发工程师根据最新的微信5.1版撰写,全面解读了微信公众平台开放的所有API的各项功能和用法,系统讲解了微信公众平台应用开发的流程、方法和技巧。更为重要的是,它还深入讲解了微信公众平台应用开发的高级技术和技巧,如何与LBS等多种技术结合使用,如何调用其他第三方的数据和资源,等等。实战性非常强,包含大量小案例和3个有代表性的综合案例。《微信公众平台应用开发:方法、技巧与案例》共11章,分为四个部分:第一部分(第1~2章)介绍了公众平台的使用、公众账号的认证、编辑模式的使用等基础知识;第二部分(第3~4章)首先讲解了如何启用开发模式,然后详细讲解了公众平台的消息接口(包括请求校验、请求消息、事件推送和响应消息),包含一个能够接收与响应任何类型消息的项目,读者可以将该项目导出成WAR包,作为公众平台的基础开发包(适用于订阅号和服务号),在开发公众账号时,只需要关注业务逻辑;第三部分(第5~6章)重点介绍了公众平台的自定义菜单接口和高级接口,并配有完整的接口调用示例和说明,读者可以将这部分的接口调用代码作为公众平台的高级开发包;第四部分(第7~11章)首先总结了一些实用的公众平台开发技巧,如使用表情、识别微信浏览器、图文消息使用、公众账号无响应处理、服务多个账号等,然后逐步详细地讲解了“周边搜索”、“猜数字”(游戏)和“聊天机器人”3个综合案例的开发过程,其中还包含如何与其他技术的结合使用及如何调用第三方的数据和资源,学习完本部分,读者完全有能力胜任大型企业公众账号的开发。附录为公众平台接口的返回码说明,以及公众平台接口的调用次数限制说明。
目录
前言
第1章 公众平台基础知识
1.1 公众平台简介
1.1.1 平台定位
1.1.2 发展历程
1.2 注册公众账号
1.2.1 公众账号的分类
1.2.2 注册账号所需资料
1.2.3 公众账号的注册流程
1.3 公众平台的使用
1.3.1 功能
1.3.2 管理
1.3.3 服务
1.3.4 统计
1.3.5 设置
1.4 公众账号认证
1.4.1 认证条件
1.4.2 微信认证流程
1.4.3 微博认证流程
1.5 小结
第2章 编辑模式的使用
2.1 编辑模式的应用场景
2.2 自动回复
2.2.1 被添加自动回复
2.2.2 消息自动回复
2.2.3 关键词自动回复
2.2.4 自动回复优先规则
2.3 案例:简易号码簿
2.3.1 案例功能描述
2.3.2 数据准备
2.3.3 设计关注提示语
2.3.4 设计关键词规则
2.3.5 设置默认回复
2.3.6 测试体验
2.4 自定义菜单
2.4.1 编辑菜单
2.4.2 预览和发布菜单
2.5 小结
第3章 开发模式的启用
3.1 开发模式的基础知识
3.1.1 启用开发模式的必备条件
3.1.2 应用引擎简介
3.1.3 开发工具介绍
3.2 开发请求校验程序
3.2.1 开发者文档介绍
3.2.2 明确请求校验流程
3.2.3 请求校验流程分析
3.2.4 请求校验程序的实现
3.2.5 本地测试
3.2.6 导出WAR包
3.3 BAE的使用
3.3.1 注册账号
3.3.2 创建应用
3.3.3 托管设置
3.3.4 部署应用
3.3.5 获取访问地址
3.4 启用开发模式的步骤
3.5 小结
第4章 消息的接收与响应
4.1 消息交互基础知识
4.1.1 消息交互流程
4.1.2 消息的分类
4.2 消息结构的封装
4.2.1 封装请求消息
4.2.2 封装事件
4.2.3 封装响应消息
4.3 消息的处理
4.3.1 Dom4j的使用
4.3.2 XStream的使用
4.3.3 解析请求消息
4.3.4 响应消息对象转XML
4.4 案例:消息的接收与响应
4.4.1 开发准备工作
4.4.2 消息封装类
4.4.3 封装消息处理工具
4.4.4 使用CoreServlet类完成消息的接收与响应
4.4.5 使用CoreService类完成消息的处理
4.4.6 部署应用及测试体验
4.5 小结
第5章 自定义菜单的使用
5.1 发送HTTPS请求
5.1.1 两种解决方法
5.1.2 自定义信任管理器
5.2 接口访问凭证
5.2.1 获取凭证接口介绍
5.2.2 获取凭证的方式
5.3 自定义菜单接口
5.3.1 菜单按钮的分类
5.3.2 菜单结构说明
5.3.3 封装菜单结构
5.3.4 案例:创建菜单
5.3.5 菜单的查询与删除
5.4 响应菜单点击事件
5.5 接口调用频率限制
5.6 案例:网址导航
5.6.1 案例功能描述
5.6.2 案例开发准备
5.6.3 封装通用工具类
5.6.4 封装菜单工具类
5.6.5 创建自定义菜单
5.6.6 实现业务逻辑
5.6.7 部署应用及测试体验
5.7 小结
第6章 高级接口的使用
6.1 语音识别
6.1.1 开启语音识别功能
6.1.2 如何获取语音消息
6.2 客服接口
6.2.1 接口描述
6.2.2 方法封装
6.2.3 案例:发送客服消息
6.3 OAuth2.0网页授权
6.3.1 配置网页授权回调域名
6.3.2 网页授权流程
6.3.3 方法封装
6.3.4 案例:通过网页授权获取用户信息
6.4 生成带参数二维码
6.4.1 创建临时二维码
6.4.2 创建永久二维码
6.4.3 换取二维码
6.4.4 案例:通过ticket换取二维码
6.5 获取用户地理位置
6.5.1 开启获取用户地理位置功能
6.5.2 接收上报地理位置事件
6.6 获取用户基本信息
6.6.1 接口描述
6.6.2 方法封装
6.6.3 案例:获取用户基本信息
6.7 获取关注者列表
6.7.1 接口描述
6.7.2 方法封装
6.7.3 案例:获取公众账号关注者列表
6.8 用户分组接口
6.8.1 查询分组
6.8.2 创建分组
6.8.3 修改分组名
6.8.4 移动用户分组
6.9 上传及下载多媒体文件
6.9.1 上传多媒体文件接口描述
6.9.2 使用抓包工具分析文件上传请求
6.9.3 上传多媒体文件方法封装
6.9.4 下载多媒体文件
6.9.5 案例:上传及下载语音文件
6.10 小结
第7章 网络表情的使用
7.1 微信支持的网络表情
7.2 QQ表情
7.2.1 微信上的QQ表情代码
7.2.2 在微信上发送QQ表情
7.2.3 QQ表情的识别
7.2.4 回复QQ表情
7.2.5 案例:原样回复QQ表情
7.3 Emoji表情
7.3.1 微信上的Emoji表情编码
7.3.2 如何使用Emoji表情编码
7.3.3 案例:回复Emoji表情
7.4 小结
第8章 公众平台开发技巧
8.1 图文消息使用详解
8.1.1 单图文消息的实现
8.1.2 多图文消息的实现
8.1.3 图文消息使用注意事项
8.2 公众账号无响应的处理
8.2.1 公众账号无响应的几种情况
8.2.2 计算字符串所占字节数
8.3 应用开发最佳实践
8.3.1 解析消息创建时间
8.3.2 换行符的使用
8.3.3 网页超链接的使用
8.3.4 隐藏浏览器工具栏
8.3.5 表情飘落效果
8.4 识别微信浏览器
8.4.1 判断微信浏览器
8.4.2 只允许微信浏览器访问
8.5 服务多个公众账号
8.5.1 公众账号托管平台原理
8.5.2 案例:服务两个公众账号
8.6 业务系统对接
8.6.1 短信方式绑定账号
8.6.2 网页方式绑定账号
8.7 公众平台开发测试
8.8 小结
第9章 LBS应用开发实战:周边搜索
9.1 “周边搜索”功能及设计
9.1.1 使用方法
9.1.2 功能演示
9.1.3 需求分析
9.1.4 数据表设计
9.2 百度地图API的使用
9.2.1 百度地图API产品简介
9.2.2 申请访问密钥
9.2.3 PlaceAPI的使用
9.2.4 步行导航检索的使用
9.2.5 百度坐标转换
9.3 MySQL的使用
9.3.1 MySQL的下载与安装
9.3.2 MySQL的常用操作
9.3.3 JDBC的基本使用
9.3.4 案例:使用JDBC查询数据
9.4 BAE的MySQL服务
9.4.1 创建数据库
9.4.2 使用phpMyAdmin操作MySQL
9.4.3 案例:使用JDBC操作MySQL
9.5 “周边搜索”应用实现
9.5.1 应用开发准备
9.5.2 封装数据库操作
9.5.3 封装百度地图操作
9.5.4 编写步行导航页面
9.5.5 CoreService类的实现
9.5.6 部署应用及测试体验
9.6 小结
第10章 游戏开发实战:猜数字
10.1 “猜数字”功能及设计
10.1.1 游戏规则
10.1.2 游戏术语
10.1.3 核心流程设计
10.1.4 数据表设计
10.2 “猜数字”游戏的实现
10.2.1 游戏开发准备
10.2.2 游戏算法封装
10.2.3 数据库操作封装
10.2.4 核心处理逻辑
10.2.5 CoreService类的实现
10.2.6 部署应用及测试体验
10.3 小结
第11章 智能聊天应用开发实战:聊天机器人
11.1 聊天机器人原理及设计
11.1.1 实现原理
11.1.2 数据表设计
11.2 全文检索引擎Lucene
11.2.1 Lucene的组成结构
11.2.2 倒排索引结构
11.2.3 索引和检索原理
11.2.4 常用API介绍
11.2.5 Lucene的评分机制
11.2.6 案例:使用Lucene索引和检索
11.3 中文分词
11.3.1 中文分词方法
11.3.2 IK分词器的使用
11.4 索引浏览器Luke
11.4.1 Luke的功能及下载
11.4.2 Luke的用法
11.5 聊天机器人的实现
11.5.1 应用开发准备
11.5.2 封装数据库操作
11.5.3 封装聊天服务类
11.5.4 CoreService类的实现
11.5.5 应用启动时创建索引
11.5.6 部署应用及测试体验
11.6 小结
附录 返回码及接口调用次数说明