新书《微信企业号开发揭秘》已出版,全书采用WeChatEnterprise框架开发
新书《微信企业号开发揭秘》已出版,全书基于源码与API逐步讲解,采用WeChatEnterprise框架开发
纸质书购买地址: 天猫 京东 当当 亚马逊
WeChatEnterprise框架源码下载、克隆地址:https://github.com/Mr-Jiang/WeChatEnterprise
开发工具下载地址:http://www.engineer-jsp.cn/download/tools/tools.rar
本书主要介绍关于微信公众平台企业号的开发意义、开发目的及开发过程等,分11章内容详细讲述微信企业号开发环境的搭建、开发工具、接口的开发文档解读和编码实现。每个小节都会介绍对应接口的详细描述、参数意义、参数是否可选的表格、请求的方式、请求的地址、请求的返回结果,然后给出实现代码,而且代码中包含非常清晰的注释,方便读者理解代码的意义。
本书适合零基础且不熟悉微信公众平台开发的读者以及企事业单位微信企业号开发从业者、维护人员以及微信开发的爱好者阅读。
微信企业号是微信为企业客户提供的移动服务,旨在为企业提供移动应用入口。它可以帮助企业建立员工、上下游供应链与企业IT系统间的连接。利用企业号,企业或第三方服务商可以快速、低成本地实现高质量的企业移动轻应用,实现生产、管理、协作、运营的移动化。企业号作为企业IT移动化解决方案,相比企业自己开发App具有明显的优势。所以,微信企业号开发已成为很多开发人员的必备技能。
一、关于全书目录的介绍
第1章 初识微信企业号 1
1.1 什么是微信企业号 1
1.1.1 学习微信企业号开发的目的与意义 1
1.1.2 微信平台开发前景 2
1.2 注册微信企业号 2
1.3 微信企业号的使用 4
1.3.1 绑定微信 4
1.3.2 登录 4
1.3.3 消息群发 4
1.3.4 通讯录 6
1.3.5 企业应用 6
1.3.6 微信插件 7
1.3.7 管理工具 7
1.3.8 使用分析 8
1.3.9 我的企业 8
1.3.10 API文档 9
1.4 微信企业号认证 9
1.4.1 开始认证 9
1.4.2 微信企业号认证流程 9
1.4.3 认证之后的特权 10
1.5 本章小结 10
第2章 服务器搭建及本地开发环境配置 11
2.1 准备一个服务器 11
2.1.1 阿里云 11
2.1.2 新浪SAE的使用 14
2.1.3 百度BAE的使用 19
2.1.4 三方映射 22
2.1.5 服务器和本地环境搭建所需要的工具/软件 26
2.2 服务器搭建软件的安装和配置 27
2.2.1 搭建软件安装 27
2.2.2 服务器软件配置 29
2.2.3 服务器搭建完毕后的验证测试 31
2.3 本地开发环境配置 32
2.3.1 配置所需安装的软件 32
2.3.2 本地开发环境变量配置 33
2.3.3 Tomcat端口及启动配置 33
2.3.4 MyEclipse开发配置 33
2.4 建立自己的Java项目 35
2.4.1 项目的类型选择及命名 35
2.4.2 项目各个目录及文件的功能与意义 36
2.4.3 项目的编译与部署 36
2.4.4 本地开发环境及服务器搭建完毕后的验证测试 38
2.5 本章小结 42
第3章 建立连接 43
3.1 主动调用 43
3.1.1 主动调用概述 43
3.1.2 获取AccessToken 43
3.1.3 主动调用的频率限制 51
3.1.4 防止AccessToken过期的处理 51
3.2 回调模式 55
3.2.1 回调模式概述 55
3.2.2 使用回调模式所需加解密库下载 55
3.2.3 接收消息的加解密处理 55
3.2.4 编写加解密调用函数 56
3.2.5 项目提交到服务器 60
3.2.6 开启回调模式 63
3.3 代码提交与版本管理 64
3.3.1 关于GIT提交 64
3.3.2 关于SVN提交 65
3.3.3 关于Tomcat Web提交 65
3.3.4 关于Beyond Compare的使用 65
3.4 本章小结 65
第4章 管理通讯录 66
4.1 成员关注企业号 66
4.2 管理部门 69
4.2.1 创建部门 69
4.2.2 更新部门 72
4.2.3 获取部门列表 75
4.2.4 删除部门 77
4.2.5 Post消息结构体封装说明 79
4.3 管理成员 81
4.3.1 创建成员 81
4.3.2 更新成员 84
4.3.3 获取成员 87
4.3.4 获取部门成员 90
4.3.5 获取部门成员详细信息 92
4.3.6 删除成员 95
4.3.7 批量删除成员 97
4.4 管理标签 99
4.4.1 创建标签 99
4.4.2 更新标签 101
4.4.3 删除标签 103
4.4.4 获取标签成员 105
4.4.5 增加标签成员 107
4.4.6 删除标签成员 111
4.4.7 获取标签列表 114
4.5 本章小结 115
第5章 管理素材文件 116
5.1 上传临时素材 116
5.2 获取临时素材 122
5.3 上传永久素材 125
5.3.1 上传永久图文素材 126
5.3.2 上传其他类型永久素材 132
5.4 获取永久素材 137
5.5 删除永久素材 141
5.6 修改永久图文素材 145
5.7 获取素材总数 152
5.8 获取素材列表 154
5.9 上传图文消息内的图片 157
5.10 本章小结 162
第6章 管理企业号应用 163
6.1 获取企业号应用 163
6.2 设置企业号应用 167
6.3 获取应用概括列表 173
6.4 本章小结 176
第7章 接收消息与事件 177
7.1 接收普通消息 177
7.1.1 接收文本消息 177
7.1.2 接收图片消息 190
7.1.3 接收音频消息 191
7.1.4 接收录像消息 192
7.1.5 小视频消息 193
7.1.6 接收位置消息 194
7.1.7 接收link消息 195
7.2 接收事件 197
7.2.1 关注/取消关注事件 197
7.2.2 上报地理位置事件 198
7.2.3 菜单点击事件 199
7.2.4 菜单View事件 200
7.2.5 扫二维码事件 201
7.3 被动响应消息 202
7.3.1 响应文本消息 202
7.3.2 响应图片消息 204
7.3.3 响应音频消息 205
7.3.4 响应视频消息 206
7.3.5 响应图文消息 206
7.4 本章小结 209
第8章 发送消息 210
8.1 发送接口说明 210
8.2 发送类型及数据格式 212
8.2.1 Text文本消息 212
8.2.2 Image图片消息214
8.2.3 Voice音频消息 217
8.2.4 Video录像消息 220
8.2.5 File文件消息 223
8.2.6 文本卡片消息 225
8.2.7 News图文消息 228
8.2.8 MpNews消息 231
8.3 本章小结 235
第9章 自定义菜单 236
9.1 菜单结构代码封装 236
9.2 创建自定义菜单 244
9.3 获取菜单列表 248
9.4 删除菜单 252
9.5 菜单创建异常解决 254
9.6 本章小结 255
第10章 身份验证接口 256
10.1 OAuth验证接口 256
10.1.1 接口说明 256
10.1.2 企业获取Code 257
10.1.3 根据Code获取成员信息 262
10.2 UesrID与OpenID互换接口 264
10.2.1 UesrID转换OpenID接口编程 264
10.2.2 OpenID转换UserID接口编程 267
10.3 二次验证 269
10.4 本章小结 273
第11章 引入第三方开发 274
11.1 接入天气预报 274
11.2 接入快递查询 285
11.3 接入小游戏289
11.4 接入公交查询 291
11.5 接入笑话 296
11.6 智能机器人300
11.7 本章小结 303
附录 全局错误码 304
二、关于WeChatEnterprise框架的介绍
WeChatEnterprise框架是博主亲自操刀写的,整个框架架构非常清晰,无论从协议解析、协议场景层级分发、协议分场景处理与应答、还是消息加解密、IO处理等等,都非常的适用于一些初学者或对项目架构不清晰的小伙伴。
不需要任何CSDN下载积分,到GitHub地址clone代码后,可以直接拿来使用,除JS、移动端以外的接口,本框架基本上覆盖了95%以上的接口讲解与接口封装,并且附带调用方式、代码使用样例,可以从中学习到架构方面的知识,还有消息的请求、封装、解析、IO处理等等。
如果你觉得博主写的代码框架不错并且对你的开发有帮助,请在GitHub的WeChatEnterprise仓库页面的右上角点击“Star”,对我的技术分享进行支持,将是我最大的动力,博主会继续分享更多优质的资源给大家。
三、关于WeChatEnterprise框架的包结构介绍
package wx.api
------ 定义了框架的全局常量、全局变量 :请求地址、Token、EncodingAesKey、CorpId、Secret、获取凭证、封装code请求地址等
package wx.app
------ 应用管理 :获取应用、设置应用、获取应用列表
package wx.contact
------ 通讯录管理 :成员管理、部门管理、标签管理
1.成员管理 :创建成员、读取(获取)成员、更新成员、删除成员、批量删除成员、获取部门成员、获取部门成员详情、userid to openid、openid to userid、二次验证、邀请成员、获取外部联系人详情
2.部门管理 :创建部门、更新部门、删除部门、获取部门列表
3.标签管理 :创建标签、更新标签名字、删除标签、获取标签成员、增加标签成员、删除标签成员、获取标签列表
package wx.encryption
------ 消息的加解密校验、请求校验
package wx.media
------ 素材管理 : 上传临时素材、获取临时素材、上传图片
package wx.menu
------ 自定义菜单 ------ 创建菜单、获取菜单、删除菜单
package wx.msg
------ 基础消息单元类 :文件、照片、MpNews、News、Text、TextCard、Video、Voice
package wx.msg.chat.group
------ 群聊 :创建群聊、修改群聊、获取群聊会话
package wx.msg.push
------- 消息推送:推送文本消息、推送图片消息、推送语音消息、推送视频消息、推送文件消息、推送文本卡片消息、推送news图文消息、推送mpnews消息
package wx.msg.req
------ 发送(请求)消息:发送文本消息、发送图片消息、发送语音消息、发送视频消息、发送文件消息、发送文本卡片消息、发送news图文消息、发送mpnews消息
package wx.msg.resp
------ 被动响应(response) :响应文本消息、响应音乐消息、响应图片消息、响应音频消息、响应视频消息、响应图文消息
package wx.oauth2
------ 授权:code换取成员信息、user_ticket换取用户信息
package wx.protocol
------ 协议核心 :协议解析、协议管理、协议分发、协议划分为7大场景、协议层级下发等
package wx.servlet
------ 请求响应入口 : 消息的请求与响应、二次验证、授权登陆、重定向等
package wx.util
------ 工具包 : IO异步与同步阻塞网络请求、核心消息工具类、线程池管理等
关于初次开启API接收的使用教程,首先在服务器端安装使用jdk1.6或以上的版本。针对org.apache.commons.codec.binary.Base64,需要导入jar包commons-codec-1.9(或comm ons-codec-1.8等其他版本)
官方下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi
异常java.security.InvalidKeyException:illegal Key Size的解决方案:
在官方网站下载JCE无限制权限策略文件(请到官网下载对应的版本, 例如JDK7的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html ):下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。
如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\security目录下覆盖原来的文件,如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。
执行完以上操作后,进入到微信企业后台,单击“应用与小程序”选项,进入页面后,单击左侧“应用”选项,找到“自建”选项,单击你要开启API接收的自建应用,单击要开启API接收的自建应用后,进入到自建应用的详细页面,找到“接收消息”选项,单击“设置API接收”选项,进入到API接收消息页面,随后编译从博主GitHub上clone下来的代码,将Token、EncodingAesKey、CorpId一并填写在开启API接收消息的web页面内对应的方框,需要注意的是代码里要与API接收消息web页面填写的Token、EncodingAesKey、CorpId必须要全部一致,否则将会失败,然后单击“保存”按钮后即可完成开启API接收,进行后续的消息收发、自定义菜单等接口的操作,默认不勾选上报地理位置、上报进入应用事件,博主也不建议勾选,因为勾选后每次进入应用都要提示,相当的烦人。
关于新书的介绍与开发框架的介绍,到此就介绍完了,如果开发者遇到开发上的问题,可以关注博主的博客、新浪微博等,给博主发送私信,如果有空闲的时间,博主将一一回复,谢谢大家的支持与理解,提前祝大家中秋佳节、国庆佳节出行安全、工作顺利!