在飞书创建自定义应用(过程略)
获取用户授权code
String codeUrl="https://open.feishu.cn/open-apis/authen/v1/index";
//获取用户授权code
Map<String, String> headerMap = new HashMap<>();
headerMap.put("Content-Type","application/json; charset=utf-8");
Map<String, Object> bady = new HashMap<>();
bady.put("redirect_uri","https://www.baidu.com/"); //重定向 URL,需要与自定义应用的配置相同
bady.put("app_id","cli_a36f0cb2f93013"); //应用 ID,可以在开发者后台的 凭证与基础信息 页面查看
bady.put("state","lims"); //用来维护请求和回调状态的附加字符串, 在授权完成回调时会附加此参数,应用可以根据此字符串来判断上下文关系
// String code = HttpsUtils.sendGet(codeUrl, headerMap, bady);//返回从重定向页面,只能通过前端获取
配置URL

获取应用 ID(App ID,App Secret)

3.前端获取code后作为参数获取当前用户token(这个界面就是你需要跳转的界面,之前配置的界面)

4.获取当前用户token
String code = "bfbs3577376b4dbf99356c2ceb284e7a";//前端获取后传入后端
//通过前端的授权code拿到用户token
String userTokenUrl="https://open.feishu.cn/open-apis/authen/v1/access_token";
// Get access token
HttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost(userTokenUrl);
Map<String, String> pa = new HashMap<>();
pa.put("grant_type","authorization_code");//固定值
pa.put("app_id","cli_a33ad013");//appID
pa.put("app_secret","scq6xQ");//应用密钥
pa.put("code","944qe97d064f4871b9d40995d785e5f0");
StringEntity entity = new StringEntity(
JSON.toJSON(pa).toString(),
ContentType.APPLICATION_JSON);
post.setEntity(entity);
HttpResponse response = client.execute(post);
String responseBody = EntityUtils.toString(response.getEntity());
System.out.println("============================" + responseBody);
JSONObject jsonObject = JSONArray.parseObject(responseBody);
if(0 == Integer.parseInt(String.valueOf(jsonObject.get("code")))){
System.out.println("成功");
JSONObject data = JSONArray.parseObject(String.valueOf(jsonObject.get("data")));
System.out.println(data.get("access_token"));
}else {
System.out.println("失败" + jsonObject.get("msg"));
}
返回数据
{
"code": 0,
"msg": "success",
"data": {
"access_token": "u-Q7JWnaIM_kRChuLfreHmpArjOEayt.5XUBJcZr.V0Gst4FdQCtvrd9sAViLXQnQgkpL19brGOjKZQTxb",
"token_type": "Bearer",
"expires_in": 7140,
"name": "zhangsan",
"en_name": "Three Zhang",
"avatar_url": "www.feishu.cn/avatar/icon",
"avatar_thumb": "www.feishu.cn/avatar/icon_thumb",
"avatar_middle": "www.feishu.cn/avatar/icon_middle",
"avatar_big": "www.feishu.cn/avatar/icon_big",
"open_id": "ou_caecc734c2e3328a62489fe0648c4b98779515d3",
"union_id": "on_d89jhsdhjsajkda7828enjdj328ydhhw3u43yjhdj",
"email": "zhangsan@feishu.cn",
"enterprise_email": "demo@mail.com",
"user_id": "5d9bdxxx",
"mobile": "+86130002883xx",
"tenant_key": "736588c92lxf175d",
"refresh_expires_in": 2591940,
"refresh_token": "ur-oQ0mMq6MCcueAv0pwx2fQQhxqv__CbLu6G8ySFwafeKww2Def2BJdOkW3.9gCFM.LBQgFri901QaqeuL",
"sid": "AAAAAAAAAANjgHsqKEAAEw=="
}
}