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

所属分类: 软件编程 / java 阅读数: 52
收藏 0 赞 0 分享

本文介绍了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文件中增加以下内容:

<!--钉钉工具包-->
   <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, 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();
    } 
}
更多精彩内容其他人还在看

SpringBoot中使用Ehcache的详细教程

EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。这篇文章主要介绍了SpringBoot中使用Ehcache的相关知识,需要的朋友可以参考下
收藏 0 赞 0 分享

在idea 中添加和删除模块Module操作

这篇文章主要介绍了在idea 中添加和删除模块Module操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java spring整合junit操作(有详细的分析过程)

这篇文章主要介绍了java spring整合junit操作(有详细的分析过程),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解JAVA 弱引用

这篇文章主要介绍了 JAVA 弱引用的相关资料,帮助大家更好的理解和学习java引用对象,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

深入了解JAVA 虚引用

这篇文章主要介绍了JAVA 虚引用的相关资料,帮助大家更好的理解和学习JAVA,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

详解JAVA 强引用

这篇文章主要介绍了JAVA 强引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

java中的按位与(&)用法说明

这篇文章主要介绍了java中的按位与(&)用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

深入了解JAVA 软引用

这篇文章主要介绍了JAVA 软引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

利用MyBatis实现条件查询的方法汇总

这篇文章主要给大家介绍了关于利用MyBatis实现条件查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MyBatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.PathTranslator was bound

这篇文章主要介绍了Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.Pa
收藏 0 赞 0 分享
查看更多