基于JAVA的微信公众号开发【学习一】

时间:2022-12-22 23:05:52

总结假期天的基于JAVA开发微信公众号的学习


一:学习资料,来自慕课网。大家搜索应该都能搜到。

首先工具准备,因为学习过程中需要调试代码,所以需要一个暴露自己端口号到外网的工具,一开始根据视频学习过程中,用到是的一个叫做:ngrok的工具,因为视频比较老了吧,根据视频线索还找不到,找到了有些也有点坑,我在CSDN下载了一个还可以用,如有用他的朋友 我就简单说一下在ngrok所在的文件处打开控制台输入 " ngrok -config=ngrok.cfg -subdomain xxx 80" xxx代表你任意取的名字,80则为80端口。

后来发现国内有一个叫做花生壳的软件,挺好用的。。

二 : 然后你需要在微信公众平台,需要拿到微信的一个”敲门砖“,
基于JAVA的微信公众号开发【学习一】那就是自己的URL地址,用来和微信交互。
基于JAVA的微信公众号开发【学习一】
这里你需要写好你自己的URL服务器地址(用刚才的工具),令牌也是自己写的。

那么如何配置服务器呢。。

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


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

1)将token、timestamp、nonce三个参数进行字典序排序

2)将三个参数字符串拼接成一个字符串进行sha1加密

3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信






基于JAVA的微信公众号开发【学习一】
这是开发文档上的几个参数,这几个参数是你开发之前首先接触到的,他们的目的就是审核你的URL
基于JAVA的微信公众号开发【学习一】
PS(当时这里卡了一下,好像是我的sha1加密的方法不对,没能返回正确的结果。如果我强制返回true给微信的服务端,也会同意我的URL,但是这样好像不安全,最后我还是在网上找了一个正确的sha1加密的类)。

后面开发最主要的就是要拿到微信的Access_Token.