微信 获取 用户 昵称

import java.util.ResourceBundle;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.alibaba.fastjson.JSONObject;

public class WxUserInfo {
private static Logger log = LoggerFactory.getLogger(WxUserInfo.class);

private static ResourceBundle wx = ResourceBundle.getBundle("wx");// 读取配置文件
private static final String TOKEN = wx.getString("Token");
private static final String APPID = wx.getString("appID");
private static final String APPSECRET = wx.getString("appsecret");

private static final String ACCESS_TOKEN_URL = wx.getString("ACCESS_TOKEN_URL");
private static final String WEIXIN_USERINFO_URL = wx.getString("WEIXIN_USERINFO_URL");
/**
* 获取微信用户信息
* (需scope为 snsapi_userinfo)
* @param code
* @return
*/
public static String getWxUserInfo(String code){
log.info("=== 根据code < "+code+" > 获取 用户唯一标识 openid ===");
String wxUserInfo ="{}";
if("".equals(code) || code == null) {
log.info("=== code 不存在 ===");
return wxUserInfo;
}else{
String accessTokenUrl = ACCESS_TOKEN_URL.replace("APPID", APPID).replace("SECRET", APPSECRET).replace("CODE", code);
String accessTokenString = SendQuest.sendGet(accessTokenUrl);
JSONObject accessTokenJson = JSONObject.parseObject(accessTokenString);//{"errcode":40029,"errmsg":"invalid code"}
if (!accessTokenJson.containsKey("errcode")) {
log.info("=== 根据code < "+code+" > 获取 用户唯一标识 openid success===");
// int expires_in = accessTokenJson.getInteger("expires_in");//错误状态码
String access_token = accessTokenJson.getString("access_token");
String openid = accessTokenJson.getString("openid");
log.info("=== 获取 access_token < "+access_token+" > openid < " +openid+" > 成功===");
String weixinUserInfoUrl = WEIXIN_USERINFO_URL.replace("ACCESS_TOKEN", access_token).replace("OPENID", openid);
String weixinUserInfoString = SendQuest.sendGet(weixinUserInfoUrl);
JSONObject weixinUserInfoJson = JSONObject.parseObject(weixinUserInfoString);//{"errcode":40029,"errmsg":"invalid code"}
if (!weixinUserInfoJson.containsKey("errcode")) {
log.info("=== 获取 wxUserInfo 成功===");
log.info(weixinUserInfoString);
// String nickname = accessTokenJson.getString("nickname");
return weixinUserInfoString;
}else{
log.info("=== 获取 WxuserInfo 失败===");
log.info(weixinUserInfoString);
return weixinUserInfoString;
}
}else{
log.info("=== 获取 access_token < > openid < > 失败===");
log.info(accessTokenString);
return accessTokenString;
}
}
}
}

原文地址:https://www.cnblogs.com/gzl180110/p/11584651.html

时间: 2024-10-05 05:39:20

微信 获取 用户 昵称的相关文章

mysql保存emoji表情(微信开发用户昵称..)

  java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for colum n 'name' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) at com.mysql.jdbc.MysqlIO.

微信获取用户地理位置,查找出附近所有商家

微信获取用户地理位置,官网上文档不太完善,还是附上 微信获取用户地理位置开发文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp142114084 总的来说分为两大部分 1,生成JS-SDK权限验证签名 2,使用地理位置接口获取坐标 完整类文件代码如下: <?php class JSSDK { private $appId; private $appSecret; public function __construct($a

微信获取用户的openid和详细信息

获取用户的信息的原理,首先用户会点击一个url,这个url会包含一个参数redirect_uri,这个url是指向微信那边的服务器的,然后微信会把这个http请求重定向到redirect_uri,即我们的后端,而且会附带一个code参数,如果我们需要获取用户的基础信息(也就是openid)就需要用这个code去访问微信的指定url来请求用户的openid,如果我们需要获取用户的详细信息(微信名称,头像),我们就需要先用code获取一个access_token,再用这个access_token来获

企业微信获取用户信息

企业微信获取用户信息 本文内容出自官方文档:   https://work.weixin.qq.com/api/doc/10028#根据code获取成员信息 直接进入正题: 实现需求:企业微信上新建应用,访问该应用实现直接免登录进入应用. OAuth2.0接入流程说明 第一步.获取code 需要在打开的应该中配置如下特定的访问地址: https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDI

微信获取用户信息

1 <?php 2 3 4 /********************************* 5 * 微信相关工具类 **********************************/ 9 class wechat_util{ 10 const WC_APPID = ''; //微信公众号身份的唯一标识.审核通过后,在微信发送的邮件中查看 11 const WC_APP_SECRET = '';//JSAPI接口中获取openid,审核后在公众平台开启开发模式后可查看 12 /** 13

微信获取用户信息的两个接口和两个ACCESS_TOKEN

有一段时间没有搞微信开发了 ,今天突然要改一下程序! 回头一看 微信的帮助文档太tm的稀烂的,太难懂了,这做个笔记以后看着方便 微信有2个ACCESS_TOKEN, 1,基础接口的token 获取接口是 https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 2,用户网页授权access_token 获取接口地址是 https://api.weixin

微信获取用户基本信息,头像是一张“暂时无法查看”的图?

是这个 http://wx.qlogo.cn/mmopen/UAqwJ95HSLycmQktIqAYuexoytJ3kJzknQ4icJkNpfUvxfqoNRDY2esKQj3YvxXuQacsu9fYKDQ1VUSVBxspic4MwNDTF4Z4zu/0 我看到的图是下面这样的,以前这个用户的头像是正常的,但是最近发现变成这样了,他也没有换微信头像的. 会不会是微信的头像地址改了? 现在可以了,我重新给他向微信获取了一遍信息,原来的图片url就可以用了,而且我发现微信有个逻辑变了:以前用户

微信获取用户数据后台写法,author2.0认证

1 /* 微信授权接口 */ 2 //1.设置路由 3 router.get('/wechat/userinfo', function(req, res) { 4 var cb = req.query.cb; 5 //设置cookie 6 res.cookie(wechat_userinfo_callback_url, cb); 7 var url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appi

H5、微信 获取用户当前位置信息

在之前的 调用百度地图API的总结 中获取当前位置信息我用的是 H5 ,其实微信也提供了获取用户地理位置的方法,现将这两种方法都贴出来,看情况选择使用. 一.H5 获取当前地理位置得到经纬度 // H5 获取当前位置经纬度 var location_lon = '',location_lat = ''; // 经度,纬度 if (navigator.geolocation){ navigator.geolocation.getCurrentPosition(function (position)