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

微信公众平台应用开发实战(第2版)
作者 : 钟志勇 何威俊 冯煜博 著
出版日期 : 2014-06-16
ISBN : 978-7-111-46487-7
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 360
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

内容简介
本书的第1版上市后广获好评,成为计算机领域的畅销书,被誉为“微信公众平台开发领域最好的书之一”,作者是来自腾讯官方的资深软件开发工程师,而且是微信公众平台应用开发领域的先驱者之一。第2版根据微信的最新版本做了全面升级,新增内容超过40%,同时对其他内容做了更新。内容全面,介绍了微信公众平台应用开发所需各项技术,详细讲解了所有基础接口、9大高级接口以及公众平台的各种高级功能,演示和总结了微信公众平台开发的流程、方法和技巧;实战性强,不仅通过3个案例呈现了娱乐型、应用型、游戏型应用的完整开发过程,而且还实现了一个快速开发公众平台应用的框架,读者可以直接用于快速开发自己的公众平台应用。此外,还从如何应对海量用户请求和用户的恶意请求的角度探讨了公众账号运营所涉及的技术难题。

图书特色

前勒口
内容简介

本书的第1版上市后广获好评,成为计算机领域的畅销书,被誉为“微信公众平台开发领域最好的书之一”,作者是来自腾讯官方的资深软件开发工程师,而且是微信公众平台应用开发领域的先驱者之一。第2版根据微信的最新版本做了全面升级,新增内容超过40%,同时对其他内容做了更新。内容全面,介绍了微信公众平台应用开发所需各项技术,详细讲解了所有基础接口、9大高级接口以及公众平台的各种高级功能,演示和总结了微信公众平台开发的流程、方法和技巧;实战性强,不仅通过3个案例呈现了娱乐型、应用型、游戏型应用的完整开发过程,还实现了一个快速开发公众平台应用的框架,读者可以直接用于快速开发自己的公众平台应用。此外,还从如何应对海量用户请求和用户的恶意请求的角度探讨了公众账号运营所涉及的技术难题。

封面
腾讯公司资深软件研发工程师兼微信公众平台应用开发先驱者撰写,第1版广获好评
根据微信最新版本全新升级,新增内容超过40%,详细讲解所有基础接口、9大高级接口以及公众平台的各种高级功能,逐步讲解微信公众平台开发的流程、方法和技巧
通过3个案例呈现娱乐型、应用型、游戏型应用的完整开发过程,包含一个快速开发公众平台应用的可复用框架

封底
从5.0版本开始,微信的每一次升级都会让公众平台发生比较大的变化,陆续开放了服务号的9大高级接口、订阅号的自定义菜单,以及支付接口,微信电商的技术系统越来越成熟。已经有大批企业申请9大接口以及支付接口,开始了基于微信的移动电商之旅。作为一个已经有6亿用户的移动生态系统,对于企业而言,拥有无限的想象空间,会有越来越多的企业将产品和服务前移到这个生态系统上来,这已是大势所趋。
因为公众平台开放的接口越来越多,原有的接口功能也在随之调整,功能越来越强大和越来越完善,所以相关的图书也需要不断升级。本书基于微信5.2做了全面升级,新增内容超过40%,而且对原有内容进行了升级和优化,内容更与时具进、更完善、更利于读者学习。与第1版相比,第2版主要有如下改动:
■ 新增对开发模式基本概念的介绍;
■ 新增如何使用BAE和SAE进行微信公众账号开发的内容;
■ 新增基本接口的示例代码;
■ 新增公众平台9大高级接口的详细介绍和示例代码;
■ 根据读者对第1版提出的反馈意见,对原有的内容进行了完善和补充。

后勒口
2013年10月29日,微信针对认证的服务号推出9大高级接口;2014年1月24,认证的订阅号也可以拥有自定义菜单;2014年3月7日,微信支付接口全面向服务号开放。这使得微信完成了从服务平台向电商平台的转变,使得企业在微信上做生意成为可能,开启了微信电商的新篇章。对于企业而言,这无疑是一个好消息,只要根据企业自身的业务需求对公众平台进行二次开发,就可以将服务和产品的销售迁移到微信这个有巨大想象空间的移动电商平台上。
本书第1版于2013年9月出版,当时微信还只是开放了一些简单的接口,本书根据最新开放的9大接口、订阅号的自定义菜单对全书的内容进行了更新和补充,内容更新,更实用!

作者简介

钟志勇?腾讯资深软件研发工程师,毕业于中科院计算所,微信公众平台应用开发先驱,有多款应用开发经验。在腾讯(深圳)云平台部工作,担任后台开发工程师,参与过腾讯QCLOUD的研发。精通PHP和Linux网络编程技术,实践经验丰富。

图书前言

为什么要写这本书
截至本书完成时,微信已有超过6亿的用户,公众平台给了我们接触这6亿用户的机会。公众平台对于我们来说是一个全新的平台,任何人都可以在公众平台上注册一个账号并进行自己的探索,这意味着大家的机会都是平等的。和大家一样,笔者也是众多探索者中的一个。在本书的第1版完成时,公众平台只开放了一些非常简单的接口,给到开发者的自由度很有限。截至目前,公众平台不仅开放了9大高级接口,还开放了支付接口,可以支持到闭环的用户体验。
关于机会,唐骏在新书《重新出发》中给出了他的理解:“机会有三种,第一种是别人给的,第二种是争取的,第三种是运作出来的。迂回前进是运作机会的最佳方式之一,对于处在弱势态势下的人来说尤其有效。”也许读者目前对公众平台一无所知,但现在开始并不晚,也许最好的那个公众账号就是你将来苦心经营的那个。
笔者是在2013年年初的时候第一次接触到公众平台的,一番了解之后,对它的开发模式非常感兴趣,于是自己开发了一些公众账号,包括本书中将会介绍的meiri10futu、findface和mingyunzuolun。在开发和运营这些账号的过程中记录了遇到的问题和相应的处理方法,本书其实是把笔者的开发过程展现给读者,希望读者能够从中得一些帮助,同时也希望通过本书认识更多的同样对公众平台开发感兴趣的人。
读者对象
对微信公众平台感兴趣的人;
有程序开发经验,想尝试微信公众平台开发的人;
没有程序开发经验,想入门微信公众平台开发的人,本书的第1~2 章是专门为这类读者准备的;
想通过开发一些实际应用提升自己开发能力的人,本书用到的知识都是开发互联网应用通用的;
已经开发了自己的公众账号,想进一步提升的人。
如何阅读本书
本书分为四大部分:
第一部分为第1~2章,介绍了微信公众平台的一些基本概念和操作方法,并通过BAE和SAE,介绍如何通过云平台使用公众账号的开发模式。这一部分相对简单,可以照顾到开发基础薄弱的初学者。
第二部分为第3~7章,着重讲解了公众平台的基础接口、高级接口以及开发中需要用到的技术(HTTP、PHP、XML和SQL等),帮助读者了解一些基础的背景知识。然后使用接口和相关技术实现一个入门的echo server账号。在这部分,笔者还进一步实现了一套快速开发公众账号的框架,读者使用这个框架可以快速实现自己的公众账号。
第三部分为第8~10章,依次向读者展示了三个公众账号(meiri10futu、findface和mingyunzuolun)的开发过程,这三个公众账号分别属于娱乐型、应用型和游戏型。掌握这部分知识之后,读者可以独立实现一个有复杂逻辑的公众账号。
第四部分为第11~12章,介绍了如何处理海量订阅和用户消息、如何防御恶意攻击。这部分意在提高读者多方面的能力,这部分内容是运营互联网应用需要重点关注的。这部分给出了一些实用的方法,掌握这些方法,读者将有能力独自运营一个有相当订阅数量的公众账号。
如果读者是公众账号开发的新手,建议从第一部分开始阅读,如果读者开发过一些公众账号,可以直接选择自己感兴趣的章节阅读。
第2版和第1版的比较
第2版不但新增了微信公众平台9大高级接口的详细介绍和示例代码,而且增加了基本接口的示例代码(这部分放在了第3章和第4章)。另外,一些第1版的读者反映,对代码理解有困难,开发上手有难度,为了照顾到这部分读者,尽量使没有程序开发经验的读者也可以享受开发公众账号的乐趣,笔者特意新增了对微信公众平台开发模式基本概念的介绍和如何使用BAE和SAE进行微信公众账号的开发(这部分放在第1章和第2章)。有了这些内容,相信任何读者都能顺利入门微信公众账号的开发,完成自己特有公众账号的开发。
勘误和支持
由于笔者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为了更好地和读者交流,笔者专门创建了一些读者QQ群,群号如下:
1群:190609684
2群:303254016
3群:273257055
4群:310424189
读者可以加入QQ群与笔者以及其他公众平台开发爱好者进行交流,这也是读者写这本书的初衷之一。如果读者有什么宝贵意见,也欢迎发送邮件至pacozhong@qq.com,期待能够得到你们的真挚反馈。
同时欢迎大家加笔者的微信账号与笔者交流,笔者的ID是pacozhong。大家还可以关注公众账号(ednote)进入微社区“第三极社区”向作者提问和与本书其他读者交流。
书中的全部源文件可以从群共享文件或者华章网站(www.hzbook.com)下载。
致谢
首先要感谢腾讯公司的微信团队,是他们创造了这款伟大的软件。
其次要感谢机械工业出版社华章分社的杨福川和孙海亮,感谢你们在我写作过程中给予的支持,因为有了你们的鼓励和帮助,我才能顺利完成全部书稿。
谨以此书献给我亲爱的家人,以及热爱软件开发的朋友们!
钟志勇

上架指导

计算机\程序设计

封底文字

从5.0版本开始,微信的每一次升级都会让公众平台发生比较大的变化,陆续开放了服务号的9大高级接口、订阅号的自定义菜单,以及支付接口,微信电商的技术系统越来越成熟。已经有大批企业申请9大接口以及支付接口,开始了基于微信的移动电商之旅。作为一个已经有6亿用户的移动生态系统,对于企业而言,拥有无限的想象空间,会有越来越多的企业将产品和服务前移到这个生态系统上来,这已是大势所趋。
因为公众平台开放的接口越来越多,原有的接口功能也在做调整,功能越来越强大和完善,所以相关的图书也需要不断升级。本书基于微信5.2做了全面升级,新增内容超过40%,而且对原有内容进行了升级和优化,内容更与时具进、更完善、更利于读者学习。与第1版相比,第2版主要有如下改动:
(1) 新增对开发模式基本概念的介绍;
(2) 新增如何使用BAE和SAE进行微信公众号开发的内容;
(3) 新增基本接口的示例代码;
(4) 新增公众平台9大高级接口的详细介绍和示例代码;
(5) 根据读者对第1版提出的反馈意见,对原有的内容进行了完善和补充。

作者简介

钟志勇 何威俊 冯煜博 著:暂无简介

图书目录

前 言
第1章 微信公众平台介绍 / 1
1.1 微信公众账号的注册 / 2
1.1.1 基本信息 / 3
1.1.2 邮箱激活 / 3
1.1.3 信息登记 / 5
1.1.4 完善公众账号信息 / 10
1.2 微信公众账号的认证 / 10
1.3 编辑模式 / 13
1.3.1 自动回复 / 13
1.3.2 自定义菜单 / 18
1.4 开发模式简介 / 21
1.5 小结 / 23
第2章 使用云平台快速搭建公众账号 / 24
2.1 开启公众账号开发模式 / 24
2.2 使用新浪SAE搭建公众账号 / 25
2.2.1 注册新浪SAE / 25
2.2.2 在新浪SAE上创建App / 27
2.2.3 部署代码 / 29
2.2.4 开发接口的认证 / 29
2.2.5 实现简单的回复 / 31
2.3 使用百度BAE搭建公众账号 / 33
2.3.1 注册百度BAE / 33
2.3.2 在百度BAE上创建App / 35
2.3.3 部署代码 / 37
2.3.4 开发者接口的认证 / 39
2.3.5 实现简单的回复 / 41
2.3.6 BAE代码下载 / 42
2.4 在PC端进行开发调试 / 43
2.5 小结 / 44
第3章 微信公众平台API详解:基础接口 / 45
3.1 Token验证 / 45
3.2 接收消息 / 46
3.2.1 文本消息 / 46
3.2.2 图片消息 / 51
3.2.3 地理消息 / 53
3.2.4 语音消息 / 56
3.2.5 视频消息 / 57
3.2.6 链接消息 / 59
3.2.7 事件消息 / 61
3.3 回复消息 / 62
3.3.1 文本消息 / 62
3.3.2 图片消息 / 64
3.3.3 语音消息 / 66
3.3.4 音乐消息 / 67
3.3.5 视频消息 / 69
3.3.6 图文消息 / 71
3.4 小结 / 75
第4章 微信公众平台API详解:高级开发 / 76
4.1 会话界面自定义菜单 / 76
4.1.1 获取access_token凭证 / 76
4.1.2 自定义菜单创建 / 78
4.1.3 自定义菜单事件 / 82
4.1.4 自定义菜单获取 / 84
4.1.5 自定义菜单删除 / 85
4.1.6 各接口的调用频次限制 / 85
4.2 语音识别开发 / 86
4.3 自动获取用户地理位置信息 / 88
4.4 用户管理 / 91
4.4.1 查询分组 / 91
4.4.2 创建分组 / 93
4.4.3 修改分组名 / 94
4.4.4 获取关注者列表 / 95
4.4.5 获取用户基本信息 / 96
4.4.6 移动用户分组 / 97
4.5 上传/下载多媒体文件 / 98
4.5.1 上传多媒体文件 / 98
4.5.2 下载多媒体文件 / 100
4.6 客服接口 / 101
4.6.1 推送文本消息 / 101
4.6.2 推送图片消息 / 102
4.6.3 推送语音消息 / 104
4.6.4 推送视频消息 / 105
4.6.5 推送音乐消息 / 107
4.6.6 推送图文消息 / 109
4.7 二维码开发 / 111
4.7.1 创建二维码ticket / 111
4.7.2 通过ticket换取二维码 / 112
4.7.3 扫描带参数二维码事件 / 114
4.8 网页授权获取用户的基本信息(OAuth2.0) / 117
4.8.1 设置授权回调域名 / 117
4.8.2 微信用户同意授权并获取code / 119
4.8.3 通过code换取网页授权access_token / 121
4.8.4 刷新access_token / 123
4.8.5 拉取用户信息 / 125
4.8.6 完整的示例代码 / 126
4.9 wechat的JS开发 / 129
4.9.1 隐藏/显示微信中网页右上角按钮 / 129
4.9.2 隐藏/显示微信中网页底部导航栏 / 130
4.9.3 网页获取网络状态判断 / 131
4.9.4 网页内容分享开发 / 132
4.9.5 完整的示例代码 / 136
4.10 小结 / 138
第5章 搭建开发环境和相关技术介绍 / 139
5.1 AppServ的安装与配置 / 139
5.2 zendstudio的安装与配置 / 144
5.3 相关技术介绍 / 147
5.3.1 PHP / 147
5.3.2 HTTP / 158
5.3.3 XML / 162
5.3.4 MySQL / 163
5.3.5 HTML 5 / 166
5.4 小结 / 169
第6章  开发你的第一个应用——echo server / 170
6.1 实现网址接入 / 170
6.2 解析用户输入并组装返回 / 173
6.3  错误处理 / 175
6.4  封装代码 / 177
6.4.1  日志封装 / 178
6.4.2  一个简单的框架 / 182
6.4.3  数据库访问封装 / 187
6.5  小结 / 200
第7章 带自定义菜单的echo server / 201
7.1 在编辑模式中使用自定义菜单 / 201
7.2 使用CURL发送HTTP请求 / 204
7.2.1  使用CURL发送请求的基本流程 / 204
7.2.2  获取CURL请求的输出信息 / 205
7.2.3  使用CURL发送GET请求 / 206
7.2.4  使用CURL发送POST请求 / 207
7.2.5  使用CURL上传文件 / 208
7.3 获取access_token / 210
7.4  自定义菜单的操作 / 212
7.5 带自定义菜单的echo server / 219
7.6 小结 / 222
第8章 实战案例1:娱乐性图片应用——“每日十幅图” / 223
8.1  需求和交互描述 / 223
8.2  技术方案 / 226
8.2.1  为什么使用问号 / 226
8.2.2  为什么使用图文消息 / 226
8.2.3  表设计 / 226
8.2.4  批量重命名 / 227
8.3 代码实现 / 228
8.3.1  常量定义 / 228
8.3.2  成员变量和初始化 / 229
8.3.3  主业务逻辑 / 230
8.3.4  总代码清单 / 235
8.4  小结 / 239
第9章 实战案例2:人脸识别应用——findface / 240
9.1 需求和交互描述 / 240
9.2  人脸识别基本概念 / 241
9.3  人脸识别OPENAPI / 242
9.4  数据库表设计 / 243
9.5  后台逻辑设计 / 244
9.6  代码实现 / 246
9.6.1  配置定义部分 / 246
9.6.2  Face++接口封装部分 / 247
9.6.3  Group的创建和训练 / 249
9.6.4  findface主逻辑 / 250
9.7 把照片保存到本地 / 252
9.8  小结 / 255
第10章  实战案例3:趣味游戏——命运左轮 / 256
10.1  游戏过程 / 256
10.2  数据表设计 / 258
10.3  自定菜单设计 / 260
10.4  具体代码实现 / 262
10.4.1  AbstractInterface.php / 265
10.4.2  WeChatCallBackMYZL.php / 268
10.4.3  Ready.php / 273
10.4.4  Start.php / 275
10.4.5  ChipIn.php / 278
10.4.6  PutMagic.php / 283
10.4.7  Shoot.php / 289
10.4.8  GetOp.php / 296
10.4.9  AddUser.php / 298
10.4.10  Matcher.php / 300
10.5  运行截图 / 301
10.6  小结 / 301
第11章 海量请求的应对方法 / 302
11.1  影响公众账号的响应速度的因素 / 302
11.1.1  网络时延 / 302
11.1.2  请求处理时间 / 303
11.2  使用高性能的Web组件 / 303
11.2.1  安装 / 304
11.2.2  配置和运行 / 304
11.2.3  ab测试 / 308
11.3  监控服务器的各项指标 / 310
11.3.1  top命令 / 311
11.3.2  vmstat和sar命令 / 312
11.3.3  netstat命令 / 313
11.3.4  Nmon监控 / 313
11.4  使用缓存系统 / 314
11.4.1  Redis简介 / 314
11.4.2  Redis的使用和性能对比 / 315
11.5  数据库的备份和扩展 / 320
11.5.1  主从复制和读写分离 / 320
11.5.2  数据库的垂直划分和水平划分 / 322
11.6  接入层反向代理 / 325
11.7  小结 / 328
第12章 恶意请求的应对方法 / 329
12.1  URL访问限制 / 329
12.2  防止SQL注入 / 332
12.3  用户输入导致XML格式错误 / 335
12.4  PHP安全 / 337
12.5  DDOS简介 / 339
12.5.1  SYN flood / 339
12.5.2  应用层DDOS / 340
12.5.3  ReDOS / 341
12.6  小结 / 344
附录A 返回码说明 / 345

教学资源推荐
作者: (美)Byron S.Gottfried
作者: Jie Wu
作者: [美] 本贾尼?斯特劳斯特鲁普 (Bjarne Stroustrup)著
参考读物推荐