文档章节

获取微信用户OpenID

沙果
 沙果
发布于 2017/06/02 18:19
字数 258
阅读 57
收藏 0

坚持把遇到的问题整理出来,供大家参考(企鹅群: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
作品 0
深圳
程序员
私信 提问
ASP.NET Core2实现静默获取微信公众号的用户OpenId

最近在做个微信公众号的项目,需要将入口放置在公众号二级菜单内,通过点击该菜单链接后进入到该项目中去,进入到项目后程序会自动通过微信公众号的API完成用户的OpenId获取。需求很简单,实...

Andre-Hub
12/05
0
0
微信公众号开发之网页中及时获取当前用户Openid及注意事项

目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 (四)微信公众号开发之网页授权获取用户基本信息 (五)微信公众...

micahel
2017/01/12
0
0
使用python导出公众号关注用户

要从公众号导出关注用户,共需要三步: 获取access_token 获取关注用户的Open_id 根据open_id获取用户的信息 获取access_token 公众号文档对access_token的简介: 获取access_token的代码: ...

海鲜新零售
08/21
0
0
微信网页授权成功获取的openId与获取粉丝列表中对应的粉丝的openId不一致

我创建了一个微信网站应用,用于管理多个不同类型的公众号的授权登录,认证订阅号和认证服务号现在都可以授权登录了,但是为什么在授权成功后获取到的openId与实际上通过“同步粉丝信息”获取...

陈俊凯
2016/08/01
1K
4
微信小程序Java登录流程(ssm实现具体功能和加解密隐私信息问题解决方案)

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:,获取优质学习资源。 一、登录流程图 二、小程序客户端 微信小程序端发起登录请求,携带的参数主要有: 参数解释...

公众号_好好学java
07/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用form表单同时实现上传文件和提交文本数据

使用form表单同时实现上传文件和提交文本数据,此示例中在后台将文件上传到阿里的oss存储服务器中 申请oss相关账号: endpoint = "http://oss-cn-qingdao.aliyuncs.com"; accessKeyId = "key"...

貔貅叔
14分钟前
1
0
结合实际场景谈一谈微服务配置

作为 Nacos 5W1H 的系列文章,本文将围绕“Where”,讲述 Nacos 配置管理的三个典型的应用场景: 数据库连接信息 限流阈值和降级开关 流量的动态调度 上一篇:Nacos帮我解决了什么问题? 数据...

阿里云云栖社区
16分钟前
1
0
在Windows安装运行Kafka

https://www.cnblogs.com/flower1990/p/7466882.html 一、安装JAVA JDK 1、下载安装包 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 注意:根据3......

洛水
17分钟前
1
0
插件

sftp Bracket Pair Colorizer Guides Auto Rename Tag Chinese (Simplified) Language Pack for Visual Studio Code...

dragon_tech
18分钟前
1
0
Missing Number(leetcode268)

Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array. Example 1: Input: [3,0,1]Output: 2 Example 2: Input: [9,6......

woshixin
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部