zoukankan      html  css  js  c++  java
  • 微信二次开发点击菜单openId的获取

                     首先普及一个知识:一个关注的用户对于一个微信公众号是唯一的,也就是说一个用户针对与一个微信公众号是唯一的,对于不同的公众号,同一个微信号具有不同的openId;

                     在微信开发中,我们添加了一个二级菜单并实现一些相应的功能,往往是需要获取自己的openId,本文主要阐述如果通过与微信的交互得到自己的openId ;

                     这里提供一个连接,用于向微信发起请求:(在重定向之前准备好微信的AppId以及token,重定向的URL会被原样返回)

    public static String buildAuthorizationUrl(String appid,String redirectUri, String state) {
    		String url = "https://open.weixin.qq.com/connect/oauth2/authorize?";
    		url = url + "appid=" + appid;
    		url = url + "&redirect_uri=" + URIUtil.encodeURIComponent(redirectUri);
    		url = url + "&response_type=code";
    		url = url + "&scope=snsapi_base";
    		if (state != null) {
    			url = url + "&state=" + state;
    		}
    		url = url + "#wechat_redirect";
    		return url;
    }
    

                请求成功后,会额外返回一个code以及state参数,其中code参数是唯一的,也就是说一次请求,产生一个code,作为校验的唯一标准,state参数是之前请求中的token参数

                     之后,获取到公众号的APPID以及appscret,通过解析返回的json数据格式,获取到自己个人的openId,之后再进行对业务的操作

    public static String oauth2getOpenID(String code, String appid,
    String appsecret) {
    String url = "https://api.weixin.qq.com/sns/oauth2/access_token?";
    url = url + "appid=" + appid;
    url = url + "&secret=" + appsecret;
    url = url + "&code=" + code;
    url = url + "&grant_type=authorization_code";
    JSONObject jsonObject = JsonUtil.httpsRequest(url, "GET", "");
    System.out.println("jsonObject=" + jsonObject);
    return jsonObject.getString("openid");
    }
    

      

  • 相关阅读:
    Demo
    Demo
    Demo
    Demo
    Demo
    【csp模拟赛6】树上统计-启发式合并,线段树合并
    【csp模拟赛6】计数--单调栈
    【csp模拟赛6】相遇--LCA
    【poj1734】Sightseeing trip--无向图最小环
    【poj2709】Painter--贪心
  • 原文地址:https://www.cnblogs.com/zxx-813/p/7353977.html
Copyright © 2011-2022 走看看