获取微信opeId

Posted lazyli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取微信opeId相关的知识,希望对你有一定的参考价值。

code是用户登录小程序产生的;wx_appid、wx_secret是小程序开放管理平台的参数。

@Controller
@RequestMapping("/wx")
public class WxController {

    private final static String WX_APPID = "xxx";
    private final static String WX_SECRET = "xxxx";
    private final static String WX_GRANT_TYPE = "authorization_code";

    /**
     * 获取微信用户的openID
     * @param code
     * @return
     */
    @RequestMapping("/getOpenId")
    @ResponseBody
    public Map<String,Object> getOpenId(String code){
        System.out.println("code参数:"+code);
        BufferedReader in = null;
        Map<String,Object> map = new HashMap<>();
        String url = "https://api.weixin.qq.com/sns/jscode2session?appid="
                +WX_APPID+"&secret="+WX_SECRET+"&js_code="+code+"&grant_type="+WX_GRANT_TYPE;
        try{
            URL weChatUrl = new URL(url);
            URLConnection conn = weChatUrl.openConnection();
            // 设置通用的请求属性
            conn.setConnectTimeout(5000);
            conn.setReadTimeout(5000);
            // 建立实际的连接
            conn.connect();
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            StringBuffer sb = new StringBuffer();
            String line;
            while ((line = in.readLine()) != null) {
                sb.append(line);
            }
            System.out.println("获取的参数:"+sb.toString());
            map.put("status",200 );
            map.put("msg",sb.toString() );

        }catch (Exception e){
            e.printStackTrace();
        }
        return map;
    }

}

  

以上是关于获取微信opeId的主要内容,如果未能解决你的问题,请参考以下文章

微信openid的单脚本获取 将 header 至自身,但是reques参数不同,响应也不同-----“单脚本APP”

pbootcms对接微信扫码登录代码核心片段和步骤(前后端)

分享几个实用的代码片段(第二弹)

分享几个实用的代码片段(第二弹)

微信小程序代码片段

微信小程序代码片段分享