|
@@ -83,16 +83,16 @@ public class DingTalkService {
|
|
// 1. 构造请求参数
|
|
// 1. 构造请求参数
|
|
String timestamp = String.valueOf(System.currentTimeMillis());
|
|
String timestamp = String.valueOf(System.currentTimeMillis());
|
|
String signature = generateSignature(timestamp);
|
|
String signature = generateSignature(timestamp);
|
|
- logger.debug("生成请求参数 - timestamp: {}, signature: {}", timestamp, signature);
|
|
|
|
|
|
+ logger.info("生成请求参数 - timestamp: {}, signature: {}", timestamp, signature);
|
|
|
|
|
|
// 2. 构造请求体
|
|
// 2. 构造请求体
|
|
Map<String, String> requestBody = new HashMap<>();
|
|
Map<String, String> requestBody = new HashMap<>();
|
|
requestBody.put("tmp_auth_code", code);
|
|
requestBody.put("tmp_auth_code", code);
|
|
- logger.debug("构造请求体: {}", requestBody);
|
|
|
|
|
|
+ logger.info("构造请求体: {}", requestBody);
|
|
|
|
|
|
// 3. 构造请求URL
|
|
// 3. 构造请求URL
|
|
String url = String.format("%s?accessKey=%s×tamp=%s&signature=%s",
|
|
String url = String.format("%s?accessKey=%s×tamp=%s&signature=%s",
|
|
- GET_USER_INFO_URL, "suitejwoq9dw4bxv4stdb", timestamp, signature);
|
|
|
|
|
|
+ GET_USER_INFO_URL, dingTalkConfig.getAppId(), timestamp, signature);
|
|
logger.info("构造请求URL: {}", url);
|
|
logger.info("构造请求URL: {}", url);
|
|
|
|
|
|
// 4. 发送请求
|
|
// 4. 发送请求
|
|
@@ -102,7 +102,7 @@ public class DingTalkService {
|
|
new HttpEntity<>(requestBody, buildHeaders()),
|
|
new HttpEntity<>(requestBody, buildHeaders()),
|
|
String.class);
|
|
String.class);
|
|
logger.info("收到钉钉服务器响应,状态码: {}", response.getStatusCodeValue());
|
|
logger.info("收到钉钉服务器响应,状态码: {}", response.getStatusCodeValue());
|
|
- logger.debug("完整响应: {}", response.getBody());
|
|
|
|
|
|
+ logger.info("完整响应: {}", response.getBody());
|
|
|
|
|
|
// 5. 解析响应
|
|
// 5. 解析响应
|
|
JsonNode jsonNode = parseResponse(response.getBody());
|
|
JsonNode jsonNode = parseResponse(response.getBody());
|
|
@@ -112,7 +112,7 @@ public class DingTalkService {
|
|
|
|
|
|
JsonNode userInfo = jsonNode.get("user_info");
|
|
JsonNode userInfo = jsonNode.get("user_info");
|
|
if (userInfo == null) {
|
|
if (userInfo == null) {
|
|
- logger.error("响应中缺少user_info字段,完整响应: {}", jsonNode.toString());
|
|
|
|
|
|
+ logger.info("响应中缺少user_info字段,完整响应: {}", jsonNode.toString());
|
|
throw new RuntimeException("钉钉返回的用户信息不完整");
|
|
throw new RuntimeException("钉钉返回的用户信息不完整");
|
|
}
|
|
}
|
|
|
|
|
|
@@ -124,7 +124,7 @@ public class DingTalkService {
|
|
return openid;
|
|
return openid;
|
|
|
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
- logger.error("获取用户OpenID失败,临时授权码: {},错误信息: {}", code, e.getMessage(), e);
|
|
|
|
|
|
+ logger.info("获取用户OpenID失败,临时授权码: {},错误信息: {}", code, e.getMessage(), e);
|
|
throw new RuntimeException("获取用户OpenID失败: " + e.getMessage(), e);
|
|
throw new RuntimeException("获取用户OpenID失败: " + e.getMessage(), e);
|
|
}
|
|
}
|
|
}
|
|
}
|