获取微信用户OpenID
博客专区 > 沙果 的博客 > 博客详情
获取微信用户OpenID
沙果 发表于6个月前
获取微信用户OpenID
  • 发表于 6个月前
  • 阅读 22
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

坚持把遇到的问题整理出来,供大家参考(企鹅群:263130304),转载注明出处(方便大家找我要源码),对你有帮助请点个赞,如果存在不足之处请留意,不喜勿喷,欢迎大家相互交流学习。——沙果

一、获取code:

1、这里可以直接写在js里


location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=替换APPID&redirect_uri=替换回调地址&response_type=code&scope=snsapi_base&state=STATE%23wechat_redirect&connect_redirect=1#wechat_redirect';

2、在回调地址中获取code

var code = $.getUrlParam("code");

二、获取openid:

// 创建HttpClientBuilder
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
// HttpClient
CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
HttpGet httpGet = new HttpGet(urlOpenid + "?appid=" + appid + "&secret=" + secret + "&code=" + code + "&grant_type=authorization_code");
try {
	HttpResponse httpResponse = closeableHttpClient.execute(httpGet);
	HttpEntity httpEntity = httpResponse.getEntity();
	if (httpEntity != null) {
		String result = EntityUtils.toString(httpEntity, "UTF-8");
		// 过滤
		result = result.replaceAll("<![CDATA[|]]>", "");
		String sTotalString = result;
		// 把字符串转换为JSONArray对象
		JSONObject jsonObject = JSONObject.fromObject(sTotalString);
		if (jsonObject.get("openid") != null) {
			return jsonObject.get("openid").toString();
		}
	}
} catch (Exception e) {
	e.printStackTrace();
} finally {
	// 释放资源
	try {
		closeableHttpClient.close();
	} catch (IOException e) {
	}
}

说明:

1、getUrlParam自定义获取参数方法

2、将文中“替换”部分修改以外,其他部分可以不用修改

共有 人打赏支持
粉丝 0
博文 1
码字总数 258
×
沙果
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: