目录
简介
微信公众平台开发
一、开发请求校验程序
二、接口访问凭证
三、自定义菜单
四、消息管理
五、微信网页开发
六、获取用户信息
源代码
SignUtil.java
SignServlet.java
自定义信任管理器
MyX509TrustManager.java
本文档使用看云构建 -2-
简介
简介
简介
本文档是针对微信公众号开发编写的示例文档。
公众账号分类
公众账号分为服务号和订阅号两种 ,服务号为企业和组织提供更强大的业务服务和用户管理
能力 ;订阅号则针对媒体和个人提供一种更好的信息传播方式 ,更好的向用户提供信息和资
讯
服务号
1. 一个月 (30天 )内仅可群发一条消息 ;
ps :通过模板消息可以针对单独用户推送消息 ,但微信会严格控制不允许通过模板
消息群发信息给用户
2. 发给用户的消息 ,会显示在对方的聊天列表中 ;
3. 服务号会在订阅用户的通讯录中 ;
4. 服务号默认开通自定义菜单
5. 服务号可以申请微信认证 ,认证后能获得高级接口权限
订阅号
1. 订阅号每天 (24小时 )可群发一条消息
2. 发送的消息会现在对方订阅号文件夹中
3. 在订阅用户的通讯录中 ,订阅号会被放入订阅号文件夹中
4. 非企业类的订阅号可申请微信认证 ,认证后方可获得自定义菜单接口权限
说明 :文档参考柳峰的 《微信公众平台应用开发方法、技巧与案例》 ,仅限内部学习使用
本文档使用看云构建 -3-
微信公众平台开发
微信公众平台开发
开发者模式简介
公众平台的处理程序其实就是一个Web项目 ,负责接受并响应微信服务器发送的HTTP请
求。所以 ,只要是支持动态Web开发的编程语言都能够用于公众平台开发 ,例如Java、
php、.NET等
开发文档
https///wiki/home/index.html
公众平台开发者文档是专门为开发人员提供的 ,它是开发人员进行接口编程的重要依据 ,所
以 ,只要使用公众平台开发模式就必须认真研究开发者文档。
PS微信提供Demo的示例代码多为PHP ,所以本文档内使用Java进行开发说明 ,PHP自行
查看微信的开发文档
本文档使用看云构建 -4-
一、开发请求校验程序
一、开发请求校验程序
请求校验流程
简介
我们要开发的请求校验程序必须能够处理HTTPGET请求 ,而且要对请求者进行身份校验 ,
以确保请求来自微信服务器 ,请求校验流程如下 :
1. 获取HTTPGET请求中的4个参数 :signatrue、timestamp、nonce和echostr ;
2. 将token、timestamp和nonce3个参数按字典序排序 ;
3. 将排序后的3个参数按顺序拼接成一个字符串 ,并对该字符串进行sha1加密 ;
4. 将sha1加密后的字符串与参数signature进行对比 ,如果相等则证明该请求来自微信服
务器。
提示 :步骤2提到的参数token不是从GET请求中获取的 ,而是由开发者指定的。在启用开发者模式时 ,也会要求填写token ,这两处
token要求保持一致
请求校验流程分析
在Java中 ,处理HTTPGET请求就需要用到Servlet (也可以使用JSP或者Struts ,但本质也是
Servlet ),在Servlet中接收参数signature、timestamp、nonce和echostr ,代码如下所
示
Stringsignature request.getParameter("signature");
Stringtimestamp