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

<!--钉钉工具包-->
   <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();
    } 
}

到此这篇关于JAVA maven项目使用钉钉SDK获取token、用户的文章就介绍到这了,更多相关maven 钉钉SDK获取token、用户内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用java实现“钉钉微应用免登进入某H5系统首页“功能”

    一.前言 哈哈,这是我的第一篇博客. 先说一下这个小功能的具体场景: 用户登录钉钉app,点击微应用,获取当前用户的信息,与H5系统的数据库的用户信息对比,如果存在该用户,则点击后直接进入H5系统的首页,否则显示"您无权限". 补充:又加了一个小需求,就是免登成功,会给该用户发条消息 我是参考钉钉开发文档实现的这个小功能,文档地址:https://ding-doc.dingtalk.com/doc#/serverapi2/clotub 二.准备工作 需要创建一个微应用:https://

  • java实现钉钉机器人消息推送的示例代码

    先建个钉钉群,并加好机器人 此时,机器人已经添加完毕,接下来编写我们连接机器人小哥的代码 import com.alibaba.fastjson.JSON; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import java.util.List; import java.util.Map; /** * @author yanghao * @version DingTalkTest.j

  • 基于java使用钉钉机器人向钉钉群推送消息

    这篇文章主要介绍了基于java使用钉钉机器人向钉钉群推送消息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 第一步.登录钉钉电脑版,获得钉钉机器人的webhook; 第二步,用java发送post请求给钉钉完成消息推送 package com.thinkgem.wlw.modules.lhjh.DingTalk; import com.alibaba.fastjson.JSON; import org.slf4j.Logger; import

  • 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-a

  • 使用jekins自动构建部署java maven项目的方法步骤

    1.下载jenkins 地址:https://jenkins.io/index.html 本人下载了2.19.3版本的war包:jenkins.war 2.安装jenkins 拷贝jenkins.war到tomcat的webapps文件夹下,如果tomcat是启动的,jenkins项目会自动解压启动的,如果tomcat是停止的,需要启动tomcat服务,进入bin文件夹,linux环境下执行 ./startup.sh即可启动服务,windows下双击startup.bat即可. 然后,访问地址:

  • 解决java maven项目找不到jconsole-1.8.0.jar和tools-1.8.0.jar包问题

    今天遇到了这样一种情况,自己的maven项目中并没有引用的jar包出现在了Maven Dependencies的依赖包中.而我在pom.xml自己没有没有引入啊. 图示 怀疑是自己的alibaba 的druid所依赖的包: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.14</version>

  • Java Gradle项目中的资源正确获取方式

    引言 一个Java Gradle项目会涉及到资源的访问. 一般情况下会将当前项目所需的资源文件全部放置于resources文件夹下, 无论是main文件下的source code 还是test文件夹下的test code. 都或多或少的涉及到获取resources文件夹下的资源. 本文主要目的就是详细的总结一下如何获取resources文件夹下的资源. 两个getResource方法 来看一个简单的Java Gradle项目(称呼其为simpleresource)的项目结构 首先这个projec

  • java maven项目如何读取配置文件信息

    目录 maven项目读取配置文件信息 主类 配置文件 pom文件 控制台运行 jar命令运行 maven工程读取resources配置文件的正确姿势 maven项目读取配置文件信息 目录结构 主类 App.java package com.tomy.hive; import java.io.*; import java.util.Properties; /** * Hello world! * */ public class App { private static String JDBC_UR

  • 超详细讲解Java秒杀项目用户验证模块的实现

    目录 一.用户验证 1.在方法内添加请求与反应 2.cookie操作的封装 3.UserServiceImpl 4.跳转界面PathController 二.全局session 1.导入依赖 2.配置yml文件redis 3.开启虚拟机 三.自定义redis实现功能 1.新建RedisConfig文件 2.实现全局session 四.使用参数解析器 1.新建WebConfig文件 2.定义参数解析器 3.PathController 4.访问主界面得到相关信息: 接着上期内容超详细讲解Java秒

  • python项目对接钉钉SDK的实现

    钉钉SDK 对接sdk还是遇到不少问题的 钉钉python版SDK文档地址:https://dingtalk-sdk.readthedocs.io/zh_CN/latest/ 钉钉官方服务端文档:https://open-doc.dingtalk.com/microapp/serverapi2 为了避免调试出现不必要的参数错误,前期钉钉配置要做好,血和泪的教训

  • Java使用钉钉创建企业内部机器人的实现

    目录 前言: 创建钉钉机器人: 如何创建钉钉机器人 如何调用机器人api 支持的消息格式 text类型 markdown类型 整体跳转actionCard类型 feedCard类型 使用钉钉机器人推送消息 机器人交互式卡片设计: 如何发送交互式卡片 配置消息模板 修改机器人交互卡片回调地址 发送机器人交互消息 接受交互卡片回调消息 前言: 钉钉的出现为企业节约了大量人力成本,其中也开放了大量的外部api接口方便企业使用.今天我们就来说说企业自研钉钉机器人的使用方法.请尽情食用 创建钉钉机器人:

随机推荐