企业微信开发:获取用户信息(四)(1)

这个是我自定义的一个工具类,主要是用来获取成员信息的 ,返回值可定义为 String 或者自定义对象这个地方就不提供了

/**

  • @ClassName:UserIDAPI

  • @Description:TODO 获取访问用户身份

  • @Author LinLuoChen

  • @Date 2020/8/13/15:17

  • @Version V1.0

**/

public class UserIdAPI {

// 企业微信获取访问用户身份

private final static String qy_user_url = “https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE”;

//获取访问用户身份

public static UserID getUserIdInfo(String ACCESSTOKEN,String CODE){

UserID userID = new UserID();

String requestURL = qy_user_url.replace(“ACCESSTOKEN”, ACCESSTOKEN).replace( “CODE”, CODE);

JSONObject jsonObject = HttpRequestUtil.httpRequest(requestURL, EnumMethod.GET.name(), null);

// 如果请求成功

if (jsonObject != null) {

try {

System.out.println(“获取访问用户身份接口返回信息:”+jsonObject);

// 这个地方我只拿了我用的

userID.setUserId(jsonObject.getString(“UserId”));

userID.setDeviceId(jsonObject.getString(“DeviceId”));

} catch (Exception e) {

userID = null;

}

}

// 返回类型可自定义

return userID;

}

}

调用方法

public static void main(String[] args) {

UserID userID = UserIdAPI.getUserIdInfo(accessToken,code);

System.out.println(“获取用户信息为:”+userID);

}

测试结果



当用户为企业成员时返回示例如下

{

“errcode”: 0,

“errmsg”: “ok”,

“UserId”:“USERID”,

“DeviceId”:“DEVICEID”,

“user_ticket”: “USER_TICKET”,

“expires_in”:7200

}

参数说明:

| 参数 | 说明 |

| :-: | :-- |

| errcode | 返回码 |

| errmsg | 对返回码的文本描述内容 |

| UserId | 成员UserID |

| DeviceId | 手机设备号(由企业微信在安装时随机生成,删除重装会改变,升级不受影响) |

| user_ticket | 成员票据,最大为512字节。

scope为snsapi_userinfo或snsapi_privateinfo,且用户在应用可见范围之内时返回此参数。

后续利用该参数可以获取用户信息或敏感信息。 |

| expires_in | user_ticket的有效时间(秒),随user_ticket一起返回 |

非企业成员授权时返回示例如下

{

“errcode”: 0,

“errmsg”: “ok”,

“OpenId”:“OPENID”,

“DeviceId”:“DEVICEID”

}

| 参数 | 说明 |

| :-: | :-- |

| errcode | 返回码 |
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

我还为大家准备了一套体系化的架构师学习资料包以及BAT面试资料,供大家参考及学习

已经将知识体系整理好(源码,笔记,PPT,学习视频)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
713515464375)]

[外链图片转存中…(img-EztuuLUj-1713515464375)]

[外链图片转存中…(img-013l3G2m-1713515464376)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 29
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在Java实习中实现企业微信自建应用授权登录获取用户信息,可以按照以下步骤进行: 1. 获取应用ID和应用Secret,可以在企业微信管理后台创建自建应用时获得。 2. 配置可信域名、回调URL、授权回调域名和网页授权域名,确保域名的正确性和安全性。 3. 在Java项目中使用企业微信提供的OAuth2.0接口或者开源的Java SDK,实现授权登录功能。 4. 引导用户跳转到企业微信授权页面进行授权,授权成功后,企业微信会回调预设的回调URL,返回授权码。 5. 通过授权码获取access_token和用户信息,可以使用企业微信提供的OAuth2.0接口或者开源的Java SDK完成。 以下是一个使用Java SDK实现企业微信自建应用授权登录获取用户信息的示例代码: ```java // 1. 获取应用ID和应用Secret String appId = "your_app_id"; String appSecret = "your_app_secret"; // 2. 配置可信域名、回调URL、授权回调域名和网页授权域名 // 3. 使用Java SDK实现授权登录功能 WxCpService wxCpService = WxCpConfiguration.getCpService(appId); String redirectUrl = "https://your_callback_url"; String state = "your_state"; String authorizeUrl = wxCpService.getOauth2Service().buildAuthorizationUrl(redirectUrl, state); // 4. 引导用户跳转到企业微信授权页面进行授权 // 5. 企业微信回调预设的回调URL,返回授权码 String code = request.getParameter("code"); // 6. 通过授权码获取access_token和用户信息 WxCpOAuth2AccessToken wxCpOAuth2AccessToken = wxCpService.getOauth2Service().getAccessToken(code); String accessToken = wxCpOAuth2AccessToken.getAccessToken(); String userId = wxCpOAuth2AccessToken.getUserId(); WxCpUser wxCpUser = wxCpService.getUserService().getById(userId); ``` 注意事项: 1. 在开发过程中,需要保证应用ID、应用Secret、回调URL等参数的正确性。 2. 在获取access_token和用户信息时,需要保证请求的准确性和安全性。 3. 在获取用户信息时,需要保证授权作用域的正确性和权限的足够性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值