HttpURLConnection
public String getAppAccessToken(String appId, String appSecret) throws IOException{
String urlStr = "https://open.feishu.cn/open-apis/auth/v3/app_access_token/internal";
URL url = new URL(urlStr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setUseCaches(false); // Post请求不能使用缓存
connection.setDoInput(true);// 设置是否从HttpURLConnection输入,默认值为 true
connection.setDoOutput(true);// 设置是否使用HttpURLConnection进行输出,默认值为 false
connection.setRequestProperty("Content-Type","application/json; charset=utf-8");
JSONObject param = new JSONObject();
param.put("app_id", appId);
param.put("app_secret", appSecret);
// connection.setRequestProperty("grant_type", "authorization_code");
// connection.setRequestProperty("code","3ULySrccdfbHjVbrd0VE4751h.Tgg549WE001kMaw6Kf");
// BufferedReader in = new BufferedReader(new InputStreamReader(
// url.openStream()));
connection.connect();
// 得到请求的输出流对象
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(),"UTF-8");
writer.write(param.toString());
writer.flush();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
StringBuffer document = new StringBuffer();
String line = null;
while ((line = reader.readLine()) != null){
document.append(line);
}
reader.close();
System.out.println(document);
JSONObject json =JSONObject.parseObject(document.toString());
String appAccessToken=json.getString("app_access_token");
System.out.println("app_access_token"+appAccessToken);
return appAccessToken;
}
OkHttpClient
public String getTaskId(String accessToken, String json) throws IOException{
OkHttpClient okHttpClient = new OkHttpClient.Builder().connectTimeout(60, TimeUnit.SECONDS)//设置连接超时时间
.readTimeout(60, TimeUnit.SECONDS)//设置读取超时时间
.build();
String url = "https://open.feishu.cn/open-apis/security_and_compliance/v1/vault_tasks/create_im?user_id_type=user_id";
//String json="{\"create_time_range\": {\"end\": \"1651398061\",\"start\": \"1648806061\"},\"keywords\": [\"关键词1\"],\"owner_ids\": [\"8d96149a\"],\"task_name\": \"任务名称\"}";
RequestBody body = RequestBody.create(
MediaType.parse("application/json"), json);
Request.Builder builder = new Request.Builder();
Request request = builder
.url(url)
.addHeader("Authorization","Bearer "+accessToken)
.addHeader("Content-Type","application/json; charset=utf-8")
.post(body)
.build();
Response response = okHttpClient.newCall(request).execute();
ResponseBody data = response.body();
JSONObject obj =JSONObject.parseObject(data.string());
if(!obj.getString("code").equals("0")) return null;
String taskId = obj.getJSONObject("data").getJSONObject("task").getString("task_id");
System.out.println("taskId:"+taskId);
return taskId;
}
以下是上述链接的响应格式
回头补上