详解企业微信登录获取用户信息

1. 前言

在当下企业办公环境下,越来越多的企业采用了微信作为内部沟通的工具。而企业微信则是一款专门为企业内部打造的微信应用开发平台,它不仅拥有微信的交互体验和生态优势,而且还能够提供更加强大的企业级应用开发能力。在此背景下,企业微信登录系统也得到了广泛的应用。

2. 企业微信登录流程

企业微信登录包含三个步骤:企业获取Authorization Code、企业获取访问用户信息的Access Token和企业通过Access Token获取用户信息。

2.1 企业获取Authorization Code

企业在调用企业微信登录接口时,需要引导用户进入企业微信登录页进行授权。企业微信登录页会自动跳转到企业自定义的授权页面,并携带一个code参数。企业在收到code参数后,就可以凭此code参数向企业微信服务器请求Access Token了。

调用企业微信授权登录接口的方法如下:

location.href = "https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=企业的CorpID&redirect_uri=授权回调地址&state=123";

说明:

appid:企业的CorpID,可以在企业微信管理端获取。

redirect_uri:回调地址,可以在企业自己的网站上做相应的处理。

state:自定义参数,可以携带一些数据,最终会原样返回企业。

2.2 企业获取访问用户信息的Access Token

企业在收到code参数后,需要利用这个code参数去请求Access Token。Access Token是访问用户信息的令牌。企业在获取到Access Token之后,可以使用这个令牌去获取用户信息。

获取企业微信Access Token的方法如下:

const axios = require('axios');

axios.get('https://qyapi.weixin.qq.com/cgi-bin/gettoken', {

params: {

corpid: '企业的CorpID',

corpsecret: '管理组的凭证密钥',

}

}).then((response) => {

const access_token = response.data.access_token;

console.log(access_token);

}).catch((error) => {

console.error(error);

});

说明:

corpid:企业的唯一标识,可以在企业微信管理端获取。

corpsecret:管理组的凭证密钥,可以在企业微信管理端获取。

2.3 企业通过Access Token获取用户信息

获取Access Token之后,企业就可以调用企业微信提供的接口去获取用户的基本信息。

获取用户信息的方法如下:

const axios = require('axios');

axios.get('https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo', {

params: {

access_token: 'Access Token',

code: '企业微信返回的code参数',

},

}).then((response) => {

const userid = response.data.UserId;

console.log('userid:', userid);

}).catch((error) => {

console.log(error);

});

3. 获取用户信息有哪些参数

企业微信提供的接口可以获取的用户信息如下:

参数 说明
UserId 成员UserID。对应管理端的帐号,企业内必须唯一。
DeviceId 手机设备号(由微信在安装时随机生成)。

4. 其他常用接口

4.1 通过UserID获取成员信息

调用该接口可以根据用户UserID来获取企业成员的详细信息。

调用方法如下:

const axios = require('axios');

const access_token = 'Access Token';

const userid = '用户的UserID';

axios.get('https://qyapi.weixin.qq.com/cgi-bin/user/get', {

params: {

access_token,

userid,

},

}).then((response) => {

console.log(response.data);

}).catch((error) => {

console.log(error);

});

4.2 获取应用的jsapi_ticket

企业可以通过调用该接口来获取应用的jsapi_ticket。

调用方法如下:

const axios = require('axios');

const access_token = 'Access Token';

axios.get('https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket', {

params: {

access_token,

},

}).then((response) => {

console.log(response.data);

}).catch((error) => {

console.log(error);

});

5. 总结

通过以上的介绍,我们可以清晰地了解到企业微信登录流程的具体实现方案,这将为企业内部应用的开发提供有力的技术支持。