1. 程式人生 > 程式設計 >JAVA maven專案使用釘釘SDK獲取token、使用者

JAVA maven專案使用釘釘SDK獲取token、使用者

本文介紹了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

JAVA maven專案使用釘釘SDK獲取token、使用者

然後在pom檔案中增加以下內容:

<!--釘釘工具包-->
   <dependency>
     <groupId>com.dingtalk.api</groupId>
     <artifactId>top-api-sdk-dev</artifactId>
     <version>ding-open-mc-SNAPSHOT</version>
   </dependency>

理解:普通的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<Department> departmentList = rsp4.getDepartment();
      System.out.println("-----------------------------------------------------");

   // [{id: xxx,parentid: xxx,......},{id: xxx,......}]
      System.out.println(departmentList.get(0).getId();

    Long parentid = departmentList.get(0).getParentid();
    } catch (ApiException e) {
      e.printStackTrace();
    } 
}

到此這篇關於JAVA maven專案使用釘釘SDK獲取token、使用者的文章就介紹到這了,更多相關maven 釘釘SDK獲取token、使用者內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!