前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 获取小程序openid(基于SpringBoot)

Java 获取小程序openid(基于SpringBoot)

作者头像
Kindear
发布2021-01-04 10:37:03
2.2K0
发布2021-01-04 10:37:03
举报

Java 获取小程序openid(基于SpringBoot)

官方文档 wx.login

1.引入Request封装依赖
<!--Request依赖-->
<dependency>
   <groupId>com.github.kevinsawicki</groupId>
   <artifactId>http-request</artifactId>
   <version>6.0</version>
</dependency>
2.封装请求

可以在开发者后台获取AppIdAppSecret

WxMiniConfig

public class WxMiniConfig {
    public static String AppId = "";
    public static String AppSecret="";
}

构建接口请求

WxOpenData

import com.github.kevinsawicki.http.HttpRequest;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;
@RestController
public class WxOpenData {
    @RequestMapping(value = "/WxOpenData")
    public String getWxOpenData(@RequestParam(value = "js_code",required = true) String js_code){
        Map<String, String> data = new HashMap<String, String>();
        data.put("appid", WxMiniConfig.AppId);
        data.put("secret", WxMiniConfig.AppSecret);
        data.put("js_code", js_code);
        data.put("grant_type", "authorization_code");

        String response = HttpRequest.get("https://api.weixin.qq.com/sns/jscode2session").form(data).body();

        //JSONObject obj= JSON.parseObject(response);//将json字符串转换为json对
        return response.toString();
    }

}
3.小程序端请求写法
wx.login({
    success: res => {
        wx.request({
          url: 服务地址 + '/WxOpenData',
          data: {
            js_code: res.code
          },
          success: _res => {
              console.log(_res);//打印返回的openid 等信息 ,可以JSON.parse()提取
          },
          fail: _res => {

          }
        })
      }
})
4. SSL证书校验问题

sun.security.provider.certpath.SunCertPathBuilderException

Protocol handler initialization failed

可以自己下载SSL证书Tomcat版,配置到Resource目录下。

application.properties配置证书部分内容如下所示

#server.ssl.key-store=classpath:atlab.pfx
server.ssl.key-store=classpath:coms.pfx
#证书密码,请修改为您自己证书的密码.
server.ssl.key-store-password=ARU3dlCp
#秘钥库类型
#server.ssl.key-store-type:PKCS12
server.ssl.key-store-type=JKS

之后重启后多请求几次即可恢复正常服务。

参考文档 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java 获取小程序openid(基于SpringBoot)
    • 1.引入Request封装依赖
      • 2.封装请求
        • 3.小程序端请求写法
          • 4. SSL证书校验问题
          相关产品与服务
          SSL 证书
          腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档