java实现微信公众号openid与token获取

2019-03-13  本文已影响0人  左志伟

微信测试工具

我们是使用微信的测试工具来测试功能,所以先准备好测试平台。
链接如下:
测试账号: https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
测试工具:https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E8%B0%83%E8%AF%95&form=%E6%96%87%E6%9C%AC%E6%B6%88%E6%81%AF

测试工具可以在线发送一些命令,测试账号相当于你可以免费拥有一个服务号。
首先扫码登录测试账号,然后获取到appid和secret


image.png
image.png

然后测试的时候填在java代码中,我放在了配置文件中,使用spring装配到静态变量中。


image.png

然后项目启动的时候就会加载到静态变量中,在代码中直接使用静态变量即可。

然后微信需要使用域名才能进行测试,但是我们本地测试并没有域名,部署到服务器上测试又不方便,尤其是java,所以我们需要一个内网穿透。

内网穿透

原理请自己查询,这里只介绍操作。
我们使用natapp的服务,先按这个教程一步步做,就可以开启内网穿透,就可以使用域名访问自己的本地电脑。
https://natapp.cn/article/natapp_newbie
需要注意几点是

按照natapp的配置完成之后,并且启动了idea,应该用域名可以访问自己的项目了。(重点是自己的80端口要有服务)有疑问及时联系我。

测试号修改配置

需要在测试号中配置我们刚拿到的域名。例如我们拿到的域名是xyz.cc,那么我们填的内容有那些呢?

  1. 接口配置信息,你只需要改成你的域名即可,token随便写。
    http://zds4m9.natappfree.cc/auth/verify

    image.png
  2. js安全接口,不用写http://


    image.png
  3. 获取用户信息权限,同样只写纯域名


    image.png
image.png

ok了,点击下图的提交就会验证这个域名的正确性,过程就是微信向这个域名发送了一些参数,可以看我们自己的代码的这个接口的内容,就是接受了那些参数,然后自己做一下验证,如果验证通过,则把echostr原样返回以示通过验证,然后我们不验证,直接返回即可。


image.png

如果提醒验证正确的话就可以使用这个域名来操作了。顺便把自己的域名填写在配置文件中(重启才生效)改域名即可


image.png

关注公众号并创建菜单

扫描自己的二维码,然后关注自己的公众号


image.png

然后去接口工具,先获取token,再用token去创建菜单
https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E8%B0%83%E8%AF%95&form=%E6%96%87%E6%9C%AC%E6%B6%88%E6%81%AF

image.png
填自己的appid和secret
image.png
复制这个token,填在这里
image.png

然后下面的内容填上

 {
     "button":[
     {    
          "type":"click",
          "name":"今日歌曲",
          "key":"V1001_TODAY_MUSIC"
      },
      {
           "name":"菜单",
           "sub_button":[
           {    
               "type":"view",
               "name":"首页认证",
               "url":"你的域名/auth/getCallBack"
            },
            {
               "type":"click",
               "name":"赞一下我们",
               "key":"V1001_GOOD"
            }]
       }]
 }

ok,点击首页认证你就可以登录到首页,openid在session里面了

上一篇下一篇

猜你喜欢

热点阅读