微信公众号平台开发(一)如何与微信后台对接
BAT一直以来是许多程序猿的奋斗目标,但如果有幸能够进入其中学习却连自家的平台API都没办法调用,那就有点说不过去了。因此,我这段时间一直在学习JAVA微信之间的对接开发,也从中看到了BAT的严谨之处。
(一)准备
最好的参考工具(官方文档):公众平台开发者文档
参考博客:souvc的博客
测试接口:微信公众号平台接口测试
jdk:1.8
IDE:IDEA
服务器:腾讯云(对学生有较大优惠)
(二)接入流程
通过阅读官方文档,可以得知若要接入微信公众号平台开发,开发者需要按照以下三步流程:
1. 填写服务器配置
2. 验证服务器地址的有效性
3. 依据接口文档来实现业务逻辑
(三)验证服务器的代码编写
我们的应用服务器要接受微信服务器的get请求,其中包括四个参数(signature、timestamp、nonce、echostr),开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
注意:具体内容含义可以通过阅读官方文档得知!
由官方文档,我们可知加密/校验流程如下:
- 将token、timestamp、nonce三个参数进行字典序排序
- 将三个参数字符串拼接成一个字符串进行SHA1加密(SHA1加密在接下来的开发,有兴趣的话可以去了解一下)
- 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
ps:微信提供了一份php示例代码,有兴趣的可以了解一下
接下来,我将前两个步骤合为一个工具类去实现。废话不多说,我们直接上代码。
/**
* SignUtil
* 验证 signature 工具类
* Created by zggdczfr on 2016/10/21.
*/
public class SignUtil {
//与接口配置信息中的ToKen一致
private static String token = ""; /