100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 微信公众号开发 ----微信获取access_token(2)

微信公众号开发 ----微信获取access_token(2)

时间:2022-03-23 00:19:12

相关推荐

微信公众号开发 ----微信获取access_token(2)

首先微信公众号配置

现在开始获取ACCESS_TOKEN

有点坑的是微信有2个ACCESS_TOKEN( 一个用code一个不要)

基础接口的token 获取接口是

https://api./cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

上方法:

/*** 获取当前公众号的token* @return* https://api./cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET*/public static String getAccessToken(String code) {StringBuffer sb = new StringBuffer();//头sb.append("https://api./cgi-bin/token?");//grant_typesb.append("grant_type=client_credential");//appIDsb.append("&appid=" + wechatConfig.getAppID());//secretsb.append("&secret=" + wechatConfig.getAppsecret());//创建连接//解析微信响应回来的json字符串String jsonStr = HttpClientUtil.doGet(sb.toString());//打印一下System.out.println(jsonStr);JSONObject jsonObject = JSONObject.parseObject(jsonStr);//取得access_token access_token = jsonObject.getString("access_token");return access_token;}

用户网页授权access_token 获取接口地址是

https://api./sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

1.取得code

https://open./connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。

scope 参数 snsapi_base 和 snsapi_userinfo

获取code

微信访问以下方法返回的地址

/*** @param url 地址 微信重定向的地址* @param scope 权限* @param state 重定向的参数* @return 拼接微信获取code的地址*/public static String getCode(String url, String scope, String state) {// https://open./connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirectStringBuffer sb = new StringBuffer();//头sb.append("https://open./connect/oauth2/authorize?");//appIDSystem.out.println(wechatConfig.getAppID());sb.append("&appid=" + wechatConfig.getAppID());//redirect_urisb.append("&redirect_uri=" + url);//secretsb.append("&response_type=code");// scopesb.append("&scope=" + scope);sb.append("&state=" + state + "#wechat_redirect");//创建连接//解析微信响应回来的json字符串String jsonStr = sb.toString();return jsonStr;}//取得codeString code = request.getParameter("code");

通过code 换取access_token

/*** 获取当前公众号的AccessCodeToken** @param code* @return*/public static String getAccessCodeToken(String code) {//如果redis中有token name就从redis中拿if (access_code_token != null) {return access_code_token;}// https://api./sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_codeStringBuffer sb = new StringBuffer();//头sb.append("https://api./sns/oauth2/access_token?");//appIDsb.append("&appid=" + wechatConfig.getAppID());//secretsb.append("&secret=" + wechatConfig.getAppsecret());// codesb.append("&code=" + code);sb.append("&grant_type=authorization_code");//创建连接//解析微信响应回来的json字符串String jsonStr = HttpClientUtil.doGet(sb.toString());System.out.println(jsonStr);return jsonStr ;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。