JAVA maven項(xiàng)目使用釘釘SDK獲取token、用戶
本文介紹了JAVA maven項(xiàng)目使用釘釘SDK獲取token、用戶,分享給大家,具體如下:

將SDK放一個(gè)文件里,記住文件地址。D:\eclipse-workspace\項(xiàng)目名\模塊名\lib
win+r cmd 敲下面的命令:
【進(jìn)入相應(yīng)盤】 D:
【進(jìn)入文件地址】 cd D:\eclipse-workspace\項(xiàng)目名\模塊名
【運(yùn)行命令】 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文件中增加以下內(nèi)容:
<!--釘釘工具包-->
<dependency>
<groupId>com.dingtalk.api</groupId>
<artifactId>top-api-sdk-dev</artifactId>
<version>ding-open-mc-SNAPSHOT</version>
</dependency>
理解:普通的maven項(xiàng)目都會(huì)在pom里配置好jar,項(xiàng)目自動(dòng)從maven中配置的鏡像地址(就是網(wǎng)上)自己把jar包下載到你設(shè)置的位置
但是有些jar包下載不下來,可以先本地保存,然后像上面那樣用命令把jar包掛到maven設(shè)置的jar庫里去
JAVA后臺(tái)代碼:
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<Department> 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();
}
}
到此這篇關(guān)于JAVA maven項(xiàng)目使用釘釘SDK獲取token、用戶的文章就介紹到這了,更多相關(guān)maven 釘釘SDK獲取token、用戶內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java發(fā)送heartbeat心跳包(byte轉(zhuǎn)16進(jìn)制)
這篇文章主要介紹了java發(fā)送heartbeat心跳包(byte轉(zhuǎn)16進(jìn)制),需要的朋友可以參考下2014-05-05
Jmeter自定義函數(shù)base64加密實(shí)現(xiàn)過程解析
這篇文章主要介紹了Jmeter自定義函數(shù)base64加密實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Maven中的dependencyManagement 實(shí)例詳解
dependencyManagement的中文意思就是依賴關(guān)系管理,它就是為了能通更好統(tǒng)一管理項(xiàng)目的版本號和各種jar版本號,可以更加方便升級,解決包沖突問題,這篇文章主要介紹了Maven中的dependencyManagement 實(shí)例詳解,需要的朋友可以參考下2024-02-02
ElasticSearch創(chuàng)建后索引修改數(shù)據(jù)類型方法步驟
Elasticsearch存儲(chǔ)數(shù)據(jù)之前需要先創(chuàng)建索引,類似于結(jié)構(gòu)型數(shù)據(jù)庫建庫建表,創(chuàng)建索引時(shí)定義了每個(gè)字段的索引方式和數(shù)據(jù)類型,這篇文章主要給大家介紹了關(guān)于ElasticSearch創(chuàng)建后索引修改數(shù)據(jù)類型的方法步驟,需要的朋友可以參考下2023-09-09
ShardingSphere結(jié)合MySQL實(shí)現(xiàn)分庫分表的項(xiàng)目實(shí)踐
在實(shí)際開發(fā)中,如果表的數(shù)據(jù)過大我們需要把一張表拆分成多張表,本文主要介紹了使用ShardingSphere實(shí)現(xiàn)MySQL分庫分表,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03

