JAVA maven项目使用钉钉SDK获取token、用户

网友投稿 592 2022-12-05


JAVA maven项目使用钉钉SDK获取token、用户

本文介绍了java maven项目使用钉钉SDK获取token、用户,分享给大家,具体如下:

将SDK放一个文件里,记住文件地址。D:\eclipse-workspace\项目名\模块名\lib

win+r cmd 敲下面的命令:

【进入相应盘】   D:

【进入文件地址】   cd D:\eclipse-workspace\项目名\模块名

【运行命令】  mvn install:install-file -DgroupId=com.dingtalk.api -DartifactId=top-api-sdk-dev -Dversion=ding-open-mc-SNAPSHOT -Dfile=lib/taobao-sdk-java-auto_1479188381469-20200319.jar -Dpackaging=jar -DgeneratePom=true

然后在pom文件中增加以下内容:

com.dingtalk.api

top-api-sdk-dev

ding-open-mc-SNAPSHOT

理解:普通的maven项目都会在pom里配置好jar,项目自动从maven中配置的镜像地址(就是网上)自己把jar包下载到你设置的位置

但是有些jar包下载不下来,可以先本地保存,然后像上面那样用命令把jar包挂到maven设置的jar库里去

JAVA后台代码:

import com.dingtalk.api.DefaultDingTalkClient;

import com.dingtalk.api.DingTalkClient;

import com.dingtalk.api.request.OapiDepartmentListRequest;

import com.dingtalk.api.request.OapiGettokenRequest;

import com.dingtalk.api.request.OapiMessageCorpconversationAsyncsendV2Request;

import com.dingtalk.api.request.OapiUserSimplelistRequest;

import com.dingtalk.api.response.OapiDepartmentListResponse;

import com.dingtalk.api.response.OapiGettokenResponse;

import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response;

import com.dingtalk.api.response.OapiUserSimplelistResponse;

import com.taobao.api.ApiException;

import com.dingtalk.api.response.OapiDepartmentListResponse.Department;

import com.dingtalk.api.request.*;

import com.dingtalk.api.response.*;

。。。

登录接口方法(前端传来code){

// 钉钉 /gettoken 获取token,只需填写appkey和appsecret

try {

DingTalkClient client1 = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");

OapiGettokenRequest req1 = new OapiGettokenRequest();

req1.setAppkey("xxxxxxxx");

req1.setAppsecret("xxxxxxxx");

req1.setHttpMethod("GET");

OapiGettokenResponse rsp1 = client1.execute(req1);

System.out.println(rsp1.getBody());

accessToken = rsp1.getAccessToken();

} catch (Exception e) {

//} catch (ApiException e) {

e.printStackTrace();

}

// 钉钉 /user/getuserinfo 获取用户userid

try {

DingTalkClient client2 = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/getuserinfo");

OapiUserGetuserinfoRequest req2 = new OapiUserGetuserinfoRequest();

req2.setCode(code);//

req2.setHttpMethod("GET");

OapiUserGetuserinfoResponse rsp2 = client2.execute(req2, accessToken);//

System.out.println(rsp2.getBody());

userId = rsp2.getUserid();

System.out.println("userId:" + userId);

System.out.println("------------------------------------------------------");

} catch (ApiException e) {

e.printStackTrace();

}

// 钉钉 /user/get 获取用户详情

try {

DingTalkClient client3 = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/get");

OapiUserGetRequest req3 = new OapiUserGetRequest();

req3.setUserid(userId);//

req3.setHttpMethod("GET");

OapiUserGetResponse rsp3 = client3.execute(req3, accessToken);//

System.out.println(rsp3.getBody());

} catch (ApiException e) {

e.printStackTrace();

}

   // 钉钉 获取所有部门列表

  try {

DingTalkClient client4 = new DefaultDingTalkClient("https://oapi.dingtalk.com/department/list");

OapiDepartmentListRequest req4 = new OapiDepartmentListRequest();

req4.setHttpMethod("GET");

req4.setId("1");

OapiDepartmentListResponse rsp4 = client4.execute(req4, accessToken);

System.out.println("-----------------获取所有部门列表-----------------");

System.out.println(rsp4.getBody());

List departmentList = rsp4.getDepartment();

System.out.println("-----------------------------------------------------");

   // [{id: xxx, parentid: xxx, ......},{id: xxx, parentid: xxx, ......},{id: xxx, parentid: xxx, ......},{id: xxx, parentid: xxx, ......}]

System.out.println(departmentList.get(0).getId();

    Long parentid = departmentList.get(0).getParentid();

} catch (ApiException e) {

e.printStackTrace();

} 

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java List去掉重复元素的几种方式(小结)
下一篇:详解Java8与Runtime.getRuntime().availableProcessors()
相关文章

 发表评论

暂时没有评论,来抢沙发吧~