第3章 如何接入微信公众平台开发

 

接入概述

接入微信公众平台开发,开发者需要按照如下步骤完成:

1、填写服务器配置
2、验证服务器地址的有效性
3、依据接口文档实现业务逻辑

 

资料准备

1、一个可以访问的外网,即80的访问端口,因为微信公众号接口只支持80接口。
2、申请一个微信公众号测试账号
3、编写Java基本代码。

 

下面详细介绍如何接入微信公众号开发:

第一步:验证消息的确来自微信服务器

1.微信与第三方服务器校验方式的原理

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下表所示:

参数
描述
signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp 时间戳
nonce 随机数
echostr 随机字符串

发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:

 

2.检验signature的Java版。

示例代码如下:

 

3.调用校验程序

代码如下:

看不懂没有关系,你可以暂时不用弄明白它的意思。我们将使用上述代码与微信公众平台对接。

当然引入common -codec 加密工具类库:

可以简单的实现需求,简化实现逻辑,优化代码实现。

 

第二步:填写服务器配置

1.登录微信公众平台官网

登录微信公众平台官网后,在公众平台官网的开发-基本设置页面,勾选协议成为开发者,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey。

2. URL,Token,EncodingAESKey等词语的解释

其中URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。

3. 消息加密方式

同时,开发者可选择消息加解密方式:明文模式、兼容模式和安全模式。模式的选择与服务器配置在提交后都会立即生效,请开发者谨慎填写及选择。加解密方式的默认状态为明文模式,选择兼容模式和安全模式需要提前配置好相关加解密代码,详情请参考消息体签名及加解密部分的文档。

4.填写服务器配置示例

微信公众号正式环境接入示例:

说明:EncodingAESKey则不用填,点击“随机生成”让自动生成一个,消息加解密方式选择“明文模式”,然后点击“提交”按钮。

微信公众号测试环境接入示例:

说明:如果提示“token验证失败”,可以先重次几次,微信服务器有时候不稳定,也有可能映射不稳定。URL改成自己的URL,Token要对应自己在SignUtil里面填写的Token值。

5.Token校验是否成功

成功启用后如图:

恭喜,你成功启用开发模式。

启用并设置服务器配置后,用户发给公众号的消息以及开发者需要的事件推送,将被微信转发到该URL中。

成为开发者后,用户每次向公众号发送消息、或者产生自定义菜单、或产生微信支付订单等情况时,开发者填写的服务器配置URL将得到微信服务器推送过来的消息和事件,开发者可以依据自身业务逻辑进行响应,如回复消息。

 

这是我在维护的公众号,主要推送的是微信开发相关的教程。欢迎大家关注,希望大家多多帮忙扩散。

 

参考文章:

【1】微信官网文档 新版本

【2】微信官网文档 旧版本


如果您认为本教程质量不错,读后觉得收获很大,预期工资能蹭蹭蹭的往上涨,那么不妨小额赞助我一下,让我有动力继续写出高质量的教程。

发布者

souvc

souvc

搜你所想,投你所好。

发表评论