企業微信應用接入獲取UserId流程
阿新 • • 發佈:2021-02-05
技術標籤:java
企業微信應用接入獲取UserId流程
- 1 建立應用,獲取企業ID + 應用ID(AgentId) + 應用金鑰(Secret)
- 2 通過
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
介面獲取到accessToken,並存入redis or 全域性靜態變數中 - 3 配置可信域名 (可以域名+埠)
- 4-1 JAVA驗證方式一
@RequestMapping("/")
public class TxtApi {
@GetMapping("你得檔名稱.txt" )
@ResponseBody
public String text(){
return "你得檔名稱內容";
}
}
- 4-2 nginx 驗證方式二
server {
listen 你的埠;
server_name localhost;
location / {
root C:\Users\Administrator\Desktop\;
}
}
- 5 構建系統入口路徑與回撥地址
@Controller
@RequestMapping("api/sys")
@Slf4j
public class SystemController {
@GetMapping("getCode")
public ModelAndView getCode(String code, HttpSession session){
//獲取userId
String result = HttpUtil.getResult("https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE" .replace("ACCESS_TOKEN", accessToken(以前的文章有說怎麼獲取)).replace("CODE", code));
JSONObject jsonObject = JSONObject.fromObject(result);
log.info("獲取資料 {}",jsonObject);
String userId = jsonObject.getString("UserId");
return new ModelAndView(new RedirectView("前端頁面路徑?userId="+userId));
}
/**
* 系統路徑構建
* @return
*/
@GetMapping("buildCode")
public String buildCode(){
String buildUrl = "";
//回撥地址
String url = "可信域名字首" + "api/sys/getCode";
return "redirect:"+ "https://open.weixin.qq.com/connect/oauth2/authorize"
+ "?appid=CORPID"//企業id
+ "&redirect_uri=REDIRECT_URI"//回撥地址
+ "&response_type=code"//固定填寫
+ "&scope=snsapi_base"//固定填寫
+ "&state=STATE"//自定義欄位
+ "#wechat_redirect".replace("CORPID", CORP_ID).replace("REDIRECT_URI", url);
}
}
- 6.成功再頁面上獲取使用者資料