企业微信通讯录api 读取及编辑企业微信通讯录 Java全部代码
时间: 2023-12-01 08:04:49 浏览: 32
以下是Java实现企业微信通讯录API读取及编辑企业微信通讯录的全部代码:
1. 获取access_token
```java
public static String getAccessToken(String corpid, String corpsecret) {
String accessTokenUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + corpid + "&corpsecret=" + corpsecret;
String accessToken = "";
try {
URL url = new URL(accessTokenUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
InputStream in = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
JSONObject jsonObject = JSONObject.parseObject(sb.toString());
accessToken = jsonObject.getString("access_token");
} catch (Exception e) {
e.printStackTrace();
}
return accessToken;
}
```
2. 获取部门列表
```java
public static JSONArray getDepartmentList(String accessToken) {
String departmentListUrl = "https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token=" + accessToken;
JSONArray departmentList = null;
try {
URL url = new URL(departmentListUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
InputStream in = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
JSONObject jsonObject = JSONObject.parseObject(sb.toString());
departmentList = jsonObject.getJSONArray("department");
} catch (Exception e) {
e.printStackTrace();
}
return departmentList;
}
```
3. 获取部门成员列表
```java
public static JSONArray getDepartmentUserList(String accessToken, String departmentId) {
String departmentUserListUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=" + accessToken + "&department_id=" + departmentId + "&fetch_child=1";
JSONArray departmentUserList = null;
try {
URL url = new URL(departmentUserListUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
InputStream in = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
JSONObject jsonObject = JSONObject.parseObject(sb.toString());
departmentUserList = jsonObject.getJSONArray("userlist");
} catch (Exception e) {
e.printStackTrace();
}
return departmentUserList;
}
```
4. 获取成员详情
```java
public static JSONObject getUserDetail(String accessToken, String userId) {
String userDetailUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=" + accessToken + "&userid=" + userId;
JSONObject userDetail = null;
try {
URL url = new URL(userDetailUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
InputStream in = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
userDetail = JSONObject.parseObject(sb.toString());
} catch (Exception e) {
e.printStackTrace();
}
return userDetail;
}
```
5. 创建部门
```java
public static boolean createDepartment(String accessToken, String name, String parentId) {
String createDepartmentUrl = "https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token=" + accessToken;
boolean result = false;
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", name);
jsonObject.put("parentid", parentId);
URL url = new URL(createDepartmentUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
OutputStream out = conn.getOutputStream();
out.write(jsonObject.toString().getBytes("UTF-8"));
out.flush();
out.close();
InputStream in = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
JSONObject responseJson = JSONObject.parseObject(sb.toString());
if (responseJson.getInteger("errcode") == 0) {
result = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
```
6. 更新部门
```java
public static boolean updateDepartment(String accessToken, String id, String name) {
String updateDepartmentUrl = "https://qyapi.weixin.qq.com/cgi-bin/department/update?access_token=" + accessToken;
boolean result = false;
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", id);
jsonObject.put("name", name);
URL url = new URL(updateDepartmentUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
OutputStream out = conn.getOutputStream();
out.write(jsonObject.toString().getBytes("UTF-8"));
out.flush();
out.close();
InputStream in = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
JSONObject responseJson = JSONObject.parseObject(sb.toString());
if (responseJson.getInteger("errcode") == 0) {
result = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
```
7. 删除部门
```java
public static boolean deleteDepartment(String accessToken, String id) {
String deleteDepartmentUrl = "https://qyapi.weixin.qq.com/cgi-bin/department/delete?access_token=" + accessToken + "&id=" + id;
boolean result = false;
try {
URL url = new URL(deleteDepartmentUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
InputStream in = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
JSONObject responseJson = JSONObject.parseObject(sb.toString());
if (responseJson.getInteger("errcode") == 0) {
result = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
```