一、申请订阅号账号
微信公众平台:https://mp.weixin.qq.com/
按照要求申请一个账号就行,然后登陆进去
二、找到公众平台测试账号
登陆以后再左侧 设置与开发-开发者工具 然后点 公众平台测试账号
三、测试号接口配置
- URL:你服务器对硬件API的地址(我这里的域名是用内网穿透工具将本地127.0.0.1绑定的域名,后面会介绍工具)
- Token:你服务器对应API中填的Token与这里的一直即可,内容不限
四、接口代码(Go语言实现)
因为我用的beego框架,我就不展示服务器相关的代码了,直接是验证的和接口内容返回的代码
这是接入的官方文档:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html
const (
TOKEN = "这个Token和上面网页中的Token一直就行,下面需要进行验证用"
)
type WeiXinController struct {
beego.Controller
}
func (c *WeiXinController) Get() {
/*
开发者通过检验 signature 对请求进行校验(下面有校验方式)
若确认此次 GET 请求来自微信服务器,请原样返回 echostr 参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:
1)将token、timestamp、nonce三个参数进行字典序排序
2)将三个参数字符串拼接成一个字符串进行sha1加密
3)开发者获得加密后的字符串可与 signature 对比,标识该请求来源于微信
*/
mRequest := c.Ctx.Request
err := mRequest.ParseForm()
if err != nil {
logs.Debug("mRequest.ParseForm() URL解析失败!")
return
}
// 获取参数
mSignature := mRequest.FormValue("signature")
mTimestamp := mRequest.FormValue("timestamp")
mNonce := mRequest.FormValue("nonce")
mEchostr := mRequest.FormValue("echostr")
logs.Debug("mSignature=" + mSignature)
logs.Debug("mTimestamp=" + mTimestamp)
logs.Debug("mNonce=" + mNonce)
logs.Debug("mEchostr=" + mEchostr)
// 1)将token、timestamp、nonce三个参数进行字典序排序
mTempArr := []string{TOKEN, mTimestamp, mNonce}
logs.Debug("排序前 mTempArr=", mTempArr)
sort.Strings(mTempArr)
logs.Debug("排序后 mTempArr=", mTempArr)
// 2)将三个参数字符串拼接成一个字符串进行sha1加密
var mSha1Str string = ""
for _, v := range mTempArr {
mSha1Str += v
}
logs.Debug("sha1加密前 mSha1Str=", mSha1Str)
mSha1 := sha1.New()
mSha1.Write([]byte(mSha1Str))
mSha1Str = hex.EncodeToString(mSha1.Sum([]byte("")))
logs.Debug("sha1加密后 mSha1Str=", mSha1Str)
// 3)开发者获得加密后的字符串可与 signature 对比,标识该请求来源于微信
if mSignature != mSha1Str {
logs.Debug("mSignature=" + mSignature)
logs.Debug("mSha1Str=" + mSha1Str)
return
}
// 若确认此次 GET 请求来自微信服务器,请原样返回 echostr 参数内容
c.Ctx.WriteString(mEchostr)
}
都弄完以后就可以启动你的服务,然后在网页点击提交,这时候微信的服务会请求你服务器的接口,进行验证
如果是成功的会显示下面的结果,如果失败了会有个小的提示
附加:内网穿透工具 NATAPP
NATAPP官网:https://natapp.cn/
进去先注册账号然后进行实名,需要实名了才可以使用免费的,实名就需要姓名+身份证号+支付宝信息权限即可
记得在首页下载
然后找到以及指定的版本
找个地方放着就行,先不用管这个,看到下面的 1分钟快速新手图文教程 点进去,不用看前面的,直接找到 8.运行natapp
点开 详见 这个超链接,然后看到配置直接复制,然后再你本地创建一个 config.ini 的文件,然后将内容粘进去,填入对应的数据,需要注意这个ini文件需要与刚才下载的exe文件放在同一路径下
#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken=这里是你购买完隧道后会有一个authtoken 然后直接复制在这里将这段话替换 #对应一条隧道的authtoken
clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=DEBUG #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空
然后在登录的状态下购买隧道
购买完成后这里就有 authtoken 复制一下,然后把上面的配置改一下就行
到这里这个工具就算是好了,然后就可以双击下载的exe文件运行了
一点点笔记,以便以后翻阅。