首页>参考读物>计算机科学与技术>软件与程序设计

微信公众平台应用开发:方法、技巧与案例
作者 : 柳峰 著
出版日期 : 2014-01-13
ISBN : 978-7-111-45332-1
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 332
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

全书一共11章:第1章介绍了微信公众平台的基础知识,包括账号的注册、使用、认证和特权等内容;第2章和第3章分别讲解了编辑模式和开发模式的使用细节;第4章和第5章详细讲解了消息接口和特权接口的封装;第6章讲解了消息的接收与响应;第7章讲解了表情的使用;第8章讲解了图文消息、语音识别、业务系统对接等实战内容;第9章讲解了如何调用百度地图API来开发相关的应用;第10章和第11章是两个完整的案例,分别讲解了天气预报应用和聊天机器人的开发过程。

图书特色

前勒口
最近某机构的一项调查统计表明,在中国,微信的用户使用时长已经超越了所有App的用户使用时长总和。如果你是一位深度的移动互联网用户,或者说你是一个“手机控”,你可能并不会因此而感到惊讶。是的,微信占用了我们使用手机的绝大部分时间。微信发展到现在,它已经不再是一个简单的通讯工具,它已经成为一个综合性的大平台,一个社交平台、一个用户平台、一个轻量级App平台、一个电商平台,微信已经成为我们生活的入口,未来必定成为我们日常生活不可分割的一部分。
对于企业而言,微信公众平台为它们提供了一个具有无限想象空间和无比广阔的平台,企业可以在公众平台开放的API基础上根据自己的业务需求开发出各种功能,公众平台的二次开发对企业而言尤为重要,将成为企业是否能利用微信改善经营状况的关键。本书针对最新的微信5.1版,从零开始系统讲解了微信公众平台的二次开发的流程、方法和其他所需的各项技术,能为广大开发者提供最新、最全面、最有效的指导。

作者简介

刘运强?网名“柳峰”,资深微信公众平台应用开发工程师,国内微信公众平台应用开发的先驱之一,项目经验丰富。他还是一位资深的Java软件开发工程师和Android/iOS移动应用开发工程师,活跃于CocoaChina、OSChina、CSDN等社区,并在CSDN博客撰写了系列微信公众平台二次开发的教程,深受欢迎并被广泛传播,也因此获得CSDN博客移动开发版块的“博客冠军”。
封面
资深微信公众平台应用开发工程师撰写,根据微信最新5.1版全面解读公众平台开放API的各项功能和用法,系统讲解微信公众平台应用开发的流程、方法和技巧
深入讲解微信公众平台应用开发的高级技术,以及与其他技术的结合使用;包含大量小案例和3个有代表性的综合案例,实践性极强
封底
微信的发展十分稳健,它的每一次更新和变化都格外引人关注。微信5.0拉开了微信移动电商的序幕,也许将来会成为中国移动电商领域的里程碑事件之一;微信5.1则让我们更清晰地看到了微信移动电商的发展战略,正在为广大企业搭建一个强大的电商平台,集营销和销售于一体。
现阶段,大部分在微信上的企业都在以营销为主,但营销只是手段,不是目的,不久的将来,随着微信更加成熟和开放,企业必定能在微信上实现直接销售,爆发点就是微信支付接口的全面开放。只要企业能经营好自己的微信公众账号,并根据企业自身特点和业务需求对公众平台进行二次开发,一定能在微信这个大平台上有所收获。
本书根据最新的微信5.1版撰写,详细讲解了微信公众平台开放的各种API,尤其是服务号开放的9大接口的具体功能和使用、订阅号自定义菜单的获取和开发方法。此外,还讲解了BAE、LBS、Lucene等其他技术和平台与微信公众平台的结合使用,能为开发各种功能的微信公众平台应用提供有效的实践指导。
本书主要内容:
公众账号的注册和认证、公众平台的使用;
编辑模式的使用、开发模式的启用;
消息接口的功能与使用,高级接口的功能和使用;
各种自定义菜单的使用;
网络表情的使用;
图文消息处理、公众账号无响应处理、微信浏览器识别、多公众账号服务、业务系统对接、公众平台开发测试等开发技巧;
LBS应用开发、游戏应用开发、智能聊天应用开发;
……

图书前言

为什么要写这本书
  在全行业的移动互联网发展浪潮中,Native App在历经几年的辉煌之后,正不可避免地遭遇“马太效应”,用户的使用时长不断向微信、新浪微博、百度地图等少数几个超级App集中,其他大量功能单一的App几乎无人问津,逐渐成为“僵尸应用”。究其原因主要包括:
  1)多样性的需求导致用户对单一App的使用呈现低频特性;
  2)Native App的安装、更新门槛高。
  Light App正是在这种形势下应运而生的,最典型的是微信公众账号。微信公众账号是基于微信公众平台开发的应用,这种应用形式通常被称为Light App、轻应用或微应用。
  微信在其庞大的用户群基础上,凭借腾讯公司强大的资源优势,将自己平台化,建立了微信公众平台。凭借微信的用户群优势和丰富的API接口,微信公众平台受到众多开发者的青睐,从2012年8月上线至今,微信公众平台已经有200多万注册账号,并且保持着每天8000个左右的增长速度。
  2013年年初,笔者因工作需要开始接触微信公众平台,在当时,市面上几乎没有关于利用Java开发微信公众平台的资料,笔者在完成了几个公众账号的开发之后,积累了不少开发经验,于是开始在CSDN博客上陆续推出微信公众平台开发教程,希望能够帮助到更多的初学者。微信公众平台开发教程推出后,立刻引起了大量开发者的关注,短短几个月时间,博客的访问量上升几十万,笔者也因此登上了CSDN博客第三期移动开发最佳博主评选的“博客冠军榜”。
  为了将微信公众平台开发经验更系统、更全面地分享出来,在机械工业出版社华章分社杨福川编辑的鼓励下,我写了这本书,也希望借此机会认识更多同行。
读者对象
  想学习Light App开发的人。
  对微信公众平台感兴趣的人。
  微信公众账号的管理者和运营者。
  有编程经验,想转型做微信公众平台开发的人。
  有微信公众平台开发经验,想进一步提升应用开发能力的人。
如何阅读本书
  本书的内容逻辑上分4部分。
  第一部分(第1~2章)介绍了公众平台的基础知识(包括公众平台定位及发展历程、注册公众账号、公众平台的使用和公众账号认证)和编辑模式的使用,为读者学习后续章节打下基础。学习完本部分,读者可以使用编辑模式配置一些实用的公众账号。
  第二部分(第3~4章)详细介绍了公众平台的消息接口,包括请求校验、请求消息、事件推送和响应消息。笔者完成了一个能够接收与响应任何类型消息的项目,读者可以将该项目导出成WAR包,作为公众平台的基础开发包(适用于订阅号和服务号),在开发公众账号时,就只需要关注业务逻辑。
  第三部分(第5~6章)重点介绍了公众平台的自定义菜单接口和高级接口,并配有完整的接口调用示例和说明,读者可以将这部分的接口调用代码作为公众平台的高级开发包。
  第四部分(第7~11章)首先介绍了一些公众平台开发实战技巧,例如表情的使用、识别微信浏览器、表情飘落效果、服务多个账号等;接着向读者展示了周边搜索、猜数字游戏和聊天机器人3个应用的开发过程。学习完本部分,读者完全有能力胜任大型企业公众账号的开发。
  附录为公众平台接口的返回码说明,以及公众平台接口的调用次数限制说明。
  如果读者不懂编程,想了解公众平台,只需重点阅读第一部分;如果读者是公众平台的初学者,请一定从第一部分的基础知识开始学习;如果读者有公众平台开发经验,可以选择自己感兴趣的章节阅读。
勘误和支持
  笔者已经尽了最大努力来完善此书,但是由于水平有限,加之编写时间仓促,书中难免会出现一些错误、不准确或者考虑不全面的地方,再加上微信公众平台发展速度较快,有些章节内容可能从未来的某一天开始不再适用,还望读者理解和体谅,并恳请读者批评指正。为了更好地与笔者进行交流,读者可以加入QQ群或关注博客与笔者进行交流。同时,读者有任何问题,也可以发邮件到下面的邮箱,笔者会尽快为您解答。书中的全部源代码可以从华章网站下载。
  QQ群:255781290
  博客:http://blog.csdn.net/lyq8479
  邮箱:58472399@qq.com
  华章网站:www.hzbook.com
致谢
  感谢腾讯公司的微信团队,是他们创造了这款伟大的产品。
  感谢阅读我CSDN博客文章的网友们,是你们给了我信心,让我一直坚持写下去。
  感谢机械工业出版社华章分社的杨福川和白宇,感谢你们在我写作过程中提供的支持,因为有你们的鼓励和帮助,我才能顺利完成全部书稿。
  感谢我的妻子黎静的支持、理解与付出,是她让我可以全身心地投入到本书的写作中。
  谨以此书献给我最亲爱的家人,以及众多热爱软件开发和微信公众平台的朋友们!

柳峰
2013年12月于贵州贵阳

上架指导

计算机\程序设计

封底文字

微信的发展十分稳健,它的每一次更新和变化,都格外引人关注。微信5.0拉开了微信移动电商的序幕,也许将来会成为中国移动电商领域的里程碑事件之一;微信5.1则让我们更清晰地看到了微信移动电商的发展战略,正在为广大企业搭建一个强大的电商平台,集营销和销售于一体。
现阶段,大部分在微信上的企业都在以营销为主,但营销只是手段,不是目的,不久的将来,随着微信更加成熟和开放,企业必定能在微信上实现直接销售,爆发点就是微信支付接口的全面开放。只要企业能经营好自己的微信公众账号,并根据企业自身特点和业务需求对公众平台进行二次开发,一定能在微信这个大平台上有所收获。
本书根据最新的微信5.1版撰写,详细讲解了微信公众平台开放的各种API,尤其是服务号开放的9大接口的具体功能和使用、订阅号自定义菜单的获取和开发方法。此外,还讲解了BAE、LBS、Lucene等其他技术和平台与微信公众平台的结合使用,能为开发各种功能的微信公众平台应用提供有效的实践指导。
本书主要内容:
(1) 公众账号的注册和认证、公众平台的使用;
(2) 编辑模式的使用、开发模式的启用;
(3) 消息接口的功能与使用,高级接口的功能和使用;
(4) 各种自定义菜单的使用;
(5) 网络表情的使用;
(6) 图文消息处理、公众账号无响应处理、微信浏览器识别、多公众账号服务、业务系统对接、公众平台开发测试等开发技巧;
(7) LBS应用开发、游戏应用开发、智能聊天应用开发;
……

作者简介

柳峰 著:暂无简介

图书目录

前言
第1章 公众平台基础知识 1
1.1 公众平台简介 1
1.1.1 平台定位 1
1.1.2 发展历程 2
1.2 注册公众账号 3
1.2.1 公众账号的分类 3
1.2.2 注册账号所需资料 4
1.2.3 公众账号的注册流程 5
1.3 公众平台的使用 8
1.3.1 功能 9
1.3.2 管理 11
1.3.3 服务 14
1.3.4 统计 15
1.3.5 设置 16
1.4 公众账号认证 17
1.4.1 认证条件 18
1.4.2 微信认证流程 18
1.4.3 微博认证流程 19
1.5 小结 19
第2章 编辑模式的使用 20
2.1 编辑模式的应用场景 20
2.2 自动回复 20
2.2.1 被添加自动回复 21
2.2.2 消息自动回复 22
2.2.3 关键词自动回复 22
2.2.4 自动回复优先规则 24
2.3 案例:简易号码簿 24
2.3.1 案例功能描述 25
2.3.2 数据准备 25
2.3.3 设计关注提示语 25
2.3.4 设计关键词规则 26
2.3.5 设置默认回复 28
2.3.6 测试体验 28
2.4 自定义菜单 29
2.4.1 编辑菜单 30
2.4.2 预览和发布菜单 32
2.5 小结 33
第3章 开发模式的启用 34
3.1 开发模式的基础知识 34
3.1.1 启用开发模式的必备条件 34
3.1.2 应用引擎简介 34
3.1.3 开发工具介绍 35
3.2 开发请求校验程序 36
3.2.1 开发者文档介绍 37
3.2.2 明确请求校验流程 37
3.2.3 请求校验流程分析 38
3.2.4 请求校验程序的实现 40
3.2.5 本地测试 43
3.2.6 导出WAR包 44
3.3 BAE的使用 46
3.3.1 注册账号 46
3.3.2 创建应用 47
3.3.3 托管设置 47
3.3.4 部署应用 48
3.3.5 获取访问地址 49
3.4 启用开发模式的步骤 49
3.5 小结 51
第4章 消息的接收与响应 52
4.1 消息交互基础知识 52
4.1.1 消息交互流程 52
4.1.2 消息的分类 53
4.2 消息结构的封装 54
4.2.1 封装请求消息 54
4.2.2 封装事件 63
4.2.3 封装响应消息 68
4.3 消息的处理 79
4.3.1 Dom4j的使用 79
4.3.2 XStream的使用 80
4.3.3 解析请求消息 83
4.3.4 响应消息对象转XML 85
4.4 案例:消息的接收与响应 88
4.4.1 开发准备工作 88
4.4.2 消息封装类 88
4.4.3 封装消息处理工具 89
4.4.4 使用CoreServlet类完成消息的接收与响应 93
4.4.5 使用CoreService类完成消息的处理 95
4.4.6 部署应用及测试体验 97
4.5 小结 98
第5章 自定义菜单的使用 99
5.1 发送HTTPS请求 99
5.1.1 两种解决方法 99
5.1.2 自定义信任管理器 100
5.2 接口访问凭证 101
5.2.1 获取凭证接口介绍 101
5.2.2 获取凭证的方式 102
5.3 自定义菜单接口 105
5.3.1 菜单按钮的分类 105
5.3.2 菜单结构说明 105
5.3.3 封装菜单结构 106
5.3.4 案例:创建菜单 109
5.3.5 菜单的查询与删除 111
5.4 响应菜单点击事件 111
5.5 接口调用频率限制 112
5.6 案例:网址导航 112
5.6.1 案例功能描述 113
5.6.2 案例开发准备 113
5.6.3 封装通用工具类 115
5.6.4 封装菜单工具类 118
5.6.5 创建自定义菜单 120
5.6.6 实现业务逻辑 123
5.6.7 部署应用及测试体验 125
5.7 小结 126
第6章 高级接口的使用 127
6.1 语音识别 127
6.1.1 开启语音识别功能 128
6.1.2 如何获取语音消息 128
6.2 客服接口 129
6.2.1 接口描述 129
6.2.2 方法封装 131
6.2.3 案例:发送客服消息 134
6.3 OAuth2.0网页授权 134
6.3.1 配置网页授权回调域名 135
6.3.2 网页授权流程 135
6.3.3 方法封装 139
6.3.4 案例:通过网页授权获取用户信息 145
6.4 生成带参数二维码 149
6.4.1 创建临时二维码 149
6.4.2 创建永久二维码 152
6.4.3 换取二维码 154
6.4.4 案例:通过ticket换取二维码 155
6.5 获取用户地理位置 155
6.5.1 开启获取用户地理位置功能 156
6.5.2 接收上报地理位置事件 156
6.6 获取用户基本信息 157
6.6.1 接口描述 157
6.6.2 方法封装 158
6.6.3 案例:获取用户基本信息 162
6.7 获取关注者列表 163
6.7.1 接口描述 163
6.7.2 方法封装 164
6.7.3 案例:获取公众账号关注者列表 166
6.8 用户分组接口 166
6.8.1 查询分组 167
6.8.2 创建分组 169
6.8.3 修改分组名 171
6.8.4 移动用户分组 173
6.9 上传及下载多媒体文件 174
6.9.1 上传多媒体文件接口描述 174
6.9.2 使用抓包工具分析文件上传请求 176
6.9.3 上传多媒体文件方法封装 179
6.9.4 下载多媒体文件 183
6.9.5 案例:上传及下载语音文件 184
6.10 小结 185
第7章 网络表情的使用 186
7.1 微信支持的网络表情 186
7.2 QQ表情 186
7.2.1 微信上的QQ表情代码 187
7.2.2 在微信上发送QQ表情 189
7.2.3 QQ表情的识别 190
7.2.4 回复QQ表情 191
7.2.5 案例:原样回复QQ表情 191
7.3 Emoji表情 192
7.3.1 微信上的Emoji表情编码 193
7.3.2 如何使用Emoji表情编码 196
7.3.3 案例:回复Emoji表情 196
7.4 小结 198
第8章 公众平台开发技巧 199
8.1 图文消息使用详解 199
8.1.1 单图文消息的实现 199
8.1.2 多图文消息的实现 200
8.1.3 图文消息使用注意事项 201
8.2 公众账号无响应的处理 202
8.2.1 公众账号无响应的几种情况 202
8.2.2 计算字符串所占字节数 202
8.3 应用开发最佳实践 204
8.3.1 解析消息创建时间 204
8.3.2 换行符的使用 205
8.3.3 网页超链接的使用 206
8.3.4 隐藏浏览器工具栏 206
8.3.5 表情飘落效果 207
8.4 识别微信浏览器 208
8.4.1 判断微信浏览器 208
8.4.2 只允许微信浏览器访问 210
8.5 服务多个公众账号 211
8.5.1 公众账号托管平台原理 211
8.5.2 案例:服务两个公众账号 213
8.6 业务系统对接 214
8.6.1 短信方式绑定账号 215
8.6.2 网页方式绑定账号 215
8.7 公众平台开发测试 215
8.8 小结 216
第9章 LBS应用开发实战:周边搜索 217
9.1 “周边搜索”功能及设计 217
9.1.1 使用方法 217
9.1.2 功能演示 217
9.1.3 需求分析 218
9.1.4 数据表设计 219
9.2 百度地图API的使用 220
9.2.1 百度地图API产品简介 220
9.2.2 申请访问密钥 221
9.2.3 Place API的使用 221
9.2.4 步行导航检索的使用 224
9.2.5 百度坐标转换 225
9.3 MySQL的使用 227
9.3.1 MySQL的下载与安装 228
9.3.2 MySQL的常用操作 228
9.3.3 JDBC的基本使用 232
9.3.4 案例:使用JDBC查询数据 234
9.4 BAE的MySQL服务 235
9.4.1 创建数据库 235
9.4.2 使用phpMyAdmin操作MySQL 237
9.4.3 案例:使用JDBC操作MySQL 237
9.5 “周边搜索”应用实现 241
9.5.1 应用开发准备 241
9.5.2 封装数据库操作 241
9.5.3 封装百度地图操作 245
9.5.4 编写步行导航页面 251
9.5.5 CoreService类的实现 252
9.5.6 部署应用及测试体验 256
9.6 小结 257
第10章 游戏开发实战:猜数字 258
10.1 “猜数字”功能及设计 258
10.1.1 游戏规则 258
10.1.2 游戏术语 259
10.1.3 核心流程设计 259
10.1.4 数据表设计 259
10.2 “猜数字”游戏的实现 261
10.2.1 游戏开发准备 261
10.2.2 游戏算法封装 262
10.2.3 数据库操作封装 265
10.2.4 核心处理逻辑 273
10.2.5 CoreService类的实现 277
10.2.6 部署应用及测试体验 279
10.3 小结 280
第11章 智能聊天应用开发实战:聊天机器人 281
11.1 聊天机器人原理及设计 281
11.1.1 实现原理 281
11.1.2 数据表设计 283
11.2 全文检索引擎Lucene 285
11.2.1 Lucene的组成结构 286
11.2.2 倒排索引结构 286
11.2.3 索引和检索原理 288
11.2.4 常用API介绍 288
11.2.5 Lucene的评分机制 290
11.2.6 案例:使用Lucene索引和检索 291
11.3 中文分词 296
11.3.1 中文分词方法 296
11.3.2 IK分词器的使用 297
11.4 索引浏览器Luke 299
11.4.1 Luke的功能及下载 299
11.4.2 Luke的用法 300
11.5 聊天机器人的实现 301
11.5.1 应用开发准备 301
11.5.2 封装数据库操作 301
11.5.3 封装聊天服务类 307
11.5.4 CoreService类的实现 311
11.5.5 应用启动时创建索引 313
11.5.6 部署应用及测试体验 314
11.6 小结 314
附录 返回码及接口调用次数说明 316

教学资源推荐
作者: 钱晓捷 编著
作者: 赵宏,陈旭东,马迪芳
作者: [美]埃里克 S. 罗伯茨(Eric S. Roberts) 著
作者: 许畅 陈嘉 朱晓瑞 编著
参考读物推荐
作者: 孙杰 山金孝 张亮 张婷婷 著
作者: (英)Mark Birbect 等
作者: [美] 亚历山大 A. 斯捷潘诺夫(Alexander A. Stepanov) 丹尼尔 E.罗斯(Daniel E. Rose)著