企业微信接入(三、获取员工信息)

公司有个应用需要用到登陆员工的姓名,所以这一篇讲下怎么获取通过接口登陆员工信息也就是免登。

通过获取当前用户的姓名或者id匹配自己数据库的员工信息实现免登。

流程是:获取code——通过code和access_token获取user_ticket——通过user_ticket获取员工信息

获取code:

微信实现网页登录需要用到网页OAuth2.0授权,理论我就不说了,直接说下如何实现。

网页必须要有域名,ip地址是不行的。

要实现网页登录必须要用OAuth2.0授权,说的通俗点就是你要把需要获取员工信息的页面地址处理下。

需要生成的url模板:https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&agentid=AGENTID&state=STATE#wechat_redirect

下图是参数的说明:

企业微信接入(三、获取员工信息)_第1张图片

可能会觉得有点难懂,我解释下,你只要把这个url模板中的参数换成你自己的,redirect_uri就是你要获取信息的页面比如我的是xxx.com/mian,但是要用urlencode处理一下,如何实现,等下会贴一个工具类。response_type用默认的code就可以了,scope有三个参数,分别有不同的权限,我用的是snsapi_userinfo,#wechat_redirect直接加在最后面就好了。

我写了个生成的工具类:

企业微信接入(三、获取员工信息)_第2张图片

这样获取到的url就是已经处理过的,因为我获取信息的页面就是应用的主页,所以将这个url直接放到应用设置页面的工作台应用主页里。

这样在页面的后端就可以通过request.getParameter("code")获取到code了

后端代码:

通过code和access_token获取user_ticket

企业微信接入(三、获取员工信息)_第3张图片

再通过user_ticket获取信息

企业微信接入(三、获取员工信息)_第4张图片

下面贴具体实现代码:

1、用到的post工具类:

企业微信接入(三、获取员工信息)_第5张图片

2、通过code获取——user_ticket——员工信息:

企业微信接入(三、获取员工信息)_第6张图片

3、controller类:

企业微信接入(三、获取员工信息)_第7张图片

4、前端用el表达式显示信息:

我后台使用的是SpringMVC框架,有什么不懂的可以私信我,我们可以讨论下。

你可能感兴趣的:(企业微信接入(三、获取员工信息))