java openid_Java采用openid去获取用户微信息

这篇文章主要为大家详细介绍了Java微信公众平台开发第十二步,微信用户信息的获取,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

前面的文章有讲到微信的一系列开发文章,包括token获取、菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关联,所以在这里我们就采用openid去获取用户微信信息,并实现一个简单场景应用:当微信新用户关注我们的微信公众平台的时候我们自动回复一篇图文消息,然后在图文消息中标题为:【尊敬的:XXX,你好!】,而且在图文消息中的图片就是用户的微信头像,如下图:

276a3eda6b6bc49c1bb543f3b7a89b21.png

有关获取微信用户信息的文档我们可以参照:mp.weixin.qq.com/wiki/1/8a5ce6257f1d3b2afb20f83e72b72ce9.html 。

(一)用户微信消息的获取实现

在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。

http请求方式:GET api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&open

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java小程序中,可以通过以下方式获取用户openid获取用户信息: 1. 引入WeChat SDK:在项目中引入WeChat SDK,可以使用WeChat SDK提供的API访问信开放平台。 2. 获取用户openid:在小程序中,用户需要授权给小程序获取用户信息,小程序可以通过授权获取用户openid。可以使用WeChat SDK提供的API获取用户openid。 3. 获取用户信息获取用户信息需要用户授权,可以使用WeChat SDK提供的API获取用户信息。需要注意的是,获取用户信息需要用户授权,若用户未授权,则无法获取用户信息。 下面是代码示例: ```java // 1. 引入WeChat SDK import com.github.wxpay.sdk.WXPayUtil; // 2. 获取用户openid String code = request.getParameter("code"); String openid = ""; if (code != null) { String appId = "your_app_id"; String secret = "your_secret"; String url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + appId + "&secret=" + secret + "&js_code=" + code + "&grant_type=authorization_code"; HttpClient client = new HttpClient(); HttpMethod method = new GetMethod(url); client.executeMethod(method); String response = method.getResponseBodyAsString(); JSONObject jsonObject = JSONObject.fromObject(response); openid = jsonObject.getString("openid"); } // 3. 获取用户信息 if (!openid.equals("")) { String accessToken = "your_access_token"; String url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + accessToken + "&openid=" + openid + "&lang=zh_CN"; HttpClient client = new HttpClient(); HttpMethod method = new GetMethod(url); client.executeMethod(method); String response = method.getResponseBodyAsString(); JSONObject jsonObject = JSONObject.fromObject(response); String nickname = jsonObject.getString("nickname"); String sex = jsonObject.getString("sex"); String city = jsonObject.getString("city"); String province = jsonObject.getString("province"); String country = jsonObject.getString("country"); } ``` 需要注意的是,获取用户信息需要用户授权,应该在小程序中提醒用户授权。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值