背景:在企业微信工作台添加应用入口,根据点击人授权获得用户信息

企业微信授权获取用户信息java后台和配置

简略记录一下流程:

首先要了解开发过程和开发步骤,可点击进入了解https://work.weixin.qq.com/api/doc#10028

了解之后呢,开始开发:

这里做的是网页授权步骤,因为这是嵌入手机的一个应用

第一步:进入企业微信管理后台页面,扫码进入https://work.weixin.qq.com/wework_admin/frame#apps

 

企业微信授权获取用户信息java后台和配置

企业微信授权获取用户信息java后台和配置

填写完毕后应用就创建第一步就完成了

第二步.填写必要数据

企业微信授权获取用户信息java后台和配置

红色是需要填写的工作台的填写详见企业微信说明

https://open.weixin.qq.com/connect/oauth2/authorize?appid=企业微信编号&redirect_uri=回调地址,记得编码&response_type=code&scope=snsapi_privateinfo(此处根据需求填写)&agentid=应用的编码&state=随意写自己认证#wechat_redirect

写完了这些,应用端的基本就搞定了

后台的代码部分大体如下

@RequestMapping(value = "/weixinLogin",method = {RequestMethod.POST,RequestMethod.GET})
@ApiOperation(value="用户第三方登录", notes="企业微信授权登录")
public ModelAndView thridPartloginWeixin( HttpServletResponse response, HttpServletRequest request) throws Exception{
    String code = request.getParameter("code");
    String state =request.getParameter("state");
    logger.error("*********************1***********************");
    logger.error("企业微信测试—程1:code="+code+"state="+state);
    logger.error("************************************************");
    //获取公司凭证
    String access_token = HttpUtil.doGet("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=公司编码&corpsecret=应用的密码","access_token");
    logger.error("********************2*************************");
    logger.error("企业微信测试—程2:access_token="+access_token);
    logger.error("************************************************");

    //获取用户凭证
    String user_ticket = HttpUtil.doGet("https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token="+access_token+"&code="+code,"user_ticket");
    logger.error("********************3**************************");
    logger.error("企业微信测试—程3:user_ticket="+user_ticket);
    logger.error("************************************************");

    //获取用户信息  用post请求
    JSONObject obj = new JSONObject();
    obj.put("user_ticket",user_ticket);
    String emial = HttpUtil.doPost("https://qyapi.weixin.qq.com/cgi-bin/user/getuserdetail?access_token="+access_token,obj.toString());
    logger.error("********************4**************************");
    logger.error("企业微信测试—程4:最后="+emial);
    logger.error("************************************************");
    return new ModelAndView( new RedirectView("www.baidu.com"));
}

事情到这基本上解决了,根据自己的需求完善就好了

 

相关文章: