1
This commit is contained in:
@@ -28,20 +28,28 @@ public class WPS365ApiServiceImpl implements IWPS365ApiService {
|
||||
|
||||
@Override
|
||||
public JSONObject getUserInfo(String accessToken) {
|
||||
try {
|
||||
// WPS365用户信息API: GET /api/v1/user/info
|
||||
// 注意:如果此API不存在或需要不同的路径,请查看WPS365官方文档
|
||||
String url = wps365Config.getApiBaseUrl() + "/user/info";
|
||||
log.debug("调用用户信息API: {}", url);
|
||||
JSONObject result = WPS365ApiUtil.httpRequest("GET", url, accessToken, null);
|
||||
log.debug("用户信息API响应: {}", result);
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
log.error("获取用户信息失败 - url: {}, error: {}",
|
||||
wps365Config.getApiBaseUrl() + "/user/info", e.getMessage(), e);
|
||||
// 不抛出异常,让调用方处理(使用降级方案)
|
||||
throw new RuntimeException("获取用户信息失败: " + e.getMessage(), e);
|
||||
// 官方文档(open.wps.cn 用户授权流程)仅写“通过 access_token 获取用户信息”,未给出具体路径;
|
||||
// /api/v1/user/info 返回 404,以下按常见惯例尝试,若均不可用则返回 null,由 Controller 降级返回
|
||||
String[] urlsToTry = {
|
||||
"https://openapi.wps.cn/v7/user",
|
||||
"https://openapi.wps.cn/v7/userinfo",
|
||||
wps365Config.getApiBaseUrl() + "/userinfo",
|
||||
wps365Config.getApiBaseUrl() + "/user/info"
|
||||
};
|
||||
for (String url : urlsToTry) {
|
||||
try {
|
||||
log.debug("尝试用户信息API: {}", url);
|
||||
JSONObject result = WPS365ApiUtil.httpRequest("GET", url, accessToken, null);
|
||||
if (result != null) {
|
||||
log.debug("用户信息API成功 - url: {}", url);
|
||||
return result;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.debug("用户信息API失败 - url: {}, error: {}", url, e.getMessage());
|
||||
}
|
||||
}
|
||||
log.warn("所有用户信息接口均不可用,请以 open.wps.cn 文档为准确认正确路径");
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user