|
@@ -8,18 +8,15 @@ import com.dingtalk.api.request.OapiV2UserGetuserinfoRequest;
|
|
import com.dingtalk.api.response.OapiGettokenResponse;
|
|
import com.dingtalk.api.response.OapiGettokenResponse;
|
|
import com.dingtalk.api.response.OapiV2UserGetResponse;
|
|
import com.dingtalk.api.response.OapiV2UserGetResponse;
|
|
import com.dingtalk.api.response.OapiV2UserGetuserinfoResponse;
|
|
import com.dingtalk.api.response.OapiV2UserGetuserinfoResponse;
|
|
-import com.taobao.api.ApiException;
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author suiyy
|
|
* @author suiyy
|
|
* @date 20230602
|
|
* @date 20230602
|
|
* @desc 钉钉API接口工具类
|
|
* @desc 钉钉API接口工具类
|
|
*/
|
|
*/
|
|
-@Service
|
|
|
|
public class DingtalkUtil {
|
|
public class DingtalkUtil {
|
|
private static final Logger logger = LoggerFactory.getLogger(DingtalkUtil.class);
|
|
private static final Logger logger = LoggerFactory.getLogger(DingtalkUtil.class);
|
|
|
|
|
|
@@ -56,13 +53,13 @@ public class DingtalkUtil {
|
|
/**
|
|
/**
|
|
* 获取钉钉 accessToken
|
|
* 获取钉钉 accessToken
|
|
* @return
|
|
* @return
|
|
- * @throws ApiException
|
|
|
|
|
|
+ * @throws Exception
|
|
*/
|
|
*/
|
|
- public String getAccessToken() throws ApiException {
|
|
|
|
- DefaultDingTalkClient client = new DefaultDingTalkClient(GET_ACCESS_TOKEN_URL);
|
|
|
|
|
|
+ public static String getAccessToken() throws Exception {
|
|
|
|
+ DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
|
|
OapiGettokenRequest request = new OapiGettokenRequest();
|
|
OapiGettokenRequest request = new OapiGettokenRequest();
|
|
- request.setAppkey(APP_KEY);
|
|
|
|
- request.setAppsecret(APP_SECRET);
|
|
|
|
|
|
+ request.setAppkey("dingik345qmyhtysvs2x");
|
|
|
|
+ request.setAppsecret("MIF55t94hRhI2EPaymoUF8-LRhWO6RxTxevYdwE9imdRUEZzxdgpNexqoTn2AIMr");
|
|
request.setHttpMethod("GET");
|
|
request.setHttpMethod("GET");
|
|
OapiGettokenResponse response = client.execute(request);
|
|
OapiGettokenResponse response = client.execute(request);
|
|
return response.getAccessToken();
|
|
return response.getAccessToken();
|
|
@@ -74,11 +71,11 @@ public class DingtalkUtil {
|
|
* @param authCode 免登授权码
|
|
* @param authCode 免登授权码
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public String getUserIdByAuthCode(String authCode) throws Exception {
|
|
|
|
|
|
+ public static String getUserIdByAuthCode(String authCode) throws Exception {
|
|
// 1. 获取access_token
|
|
// 1. 获取access_token
|
|
String accessToken = getAccessToken();
|
|
String accessToken = getAccessToken();
|
|
// 2. 获取用户信息
|
|
// 2. 获取用户信息
|
|
- DingTalkClient client = new DefaultDingTalkClient(URL_GET_USERINFO_BYAUTHCODE);
|
|
|
|
|
|
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/getuserinfo");
|
|
OapiV2UserGetuserinfoRequest req = new OapiV2UserGetuserinfoRequest();
|
|
OapiV2UserGetuserinfoRequest req = new OapiV2UserGetuserinfoRequest();
|
|
req.setCode(authCode);
|
|
req.setCode(authCode);
|
|
OapiV2UserGetuserinfoResponse rsp = client.execute(req, accessToken);
|
|
OapiV2UserGetuserinfoResponse rsp = client.execute(req, accessToken);
|
|
@@ -95,11 +92,11 @@ public class DingtalkUtil {
|
|
* @param userId 用户id
|
|
* @param userId 用户id
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public OapiV2UserGetResponse.UserGetResponse getUserDetail(String userId) throws Exception {
|
|
|
|
|
|
+ public static OapiV2UserGetResponse.UserGetResponse getUserDetail(String userId) throws Exception {
|
|
// 1. 获取access_token
|
|
// 1. 获取access_token
|
|
String accessToken = getAccessToken();
|
|
String accessToken = getAccessToken();
|
|
// 2. 获取用户详情
|
|
// 2. 获取用户详情
|
|
- DingTalkClient client = new DefaultDingTalkClient(URL_GET_USERINFO_BYUSERID);
|
|
|
|
|
|
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get");
|
|
OapiV2UserGetRequest req = new OapiV2UserGetRequest();
|
|
OapiV2UserGetRequest req = new OapiV2UserGetRequest();
|
|
req.setUserid(userId);
|
|
req.setUserid(userId);
|
|
req.setLanguage("zh_CN");
|
|
req.setLanguage("zh_CN");
|