一、分配子管理员权限(可不分配)
钉钉开放平台:钉钉开放平台 (dingtalk.com)
按照操作步骤为开发者添加开发者权限,开发者可登陆自己账号查看相关应用信息。
二、创建应用
开发者后台:开发者后台 (dingtalk.com)
无权限则无法创建应用(可管理员操作后只使用应用相关参数):
1、创建应用:
2、配置服务器出口IP、应用首页
在开发前,需要在开发者后台配置服务器出口IP、应用首页等。
点击所创建的应用进入应用详情-基础信息-开发管理-修改
配置:配置出口IP(公网IP )、应用首页地址(输入应用首页URL,在移动端工作台点击应用图标会跳转到此页面。)
3、查看应用信息
三、钉钉API调试
1、获取企业accessToken
2、通过accessToken获取用户、部门等相关信息
3、发送工作通知消息
四、Java代码实现消息通知
1、添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
2、添加配置文件application.yaml
dingtalk:
app_key: app_key
app_secret: app_secret
agent_id: agent_id
http:
webclient:
maxConnections: 100
connectTimeoutMillis: 1000
readTimeout: 1000
writeTimeoutHandler: 1000
acquireTimeout: 1000
3、工具类
package com.example.testdingding.util;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
@Configuration
@Data
public class DingTalkParams {
@Value("${dingtalk.app_key}")
private String appKey;
@Value("${dingtalk.app_secret}")
private String appSecret;
@Value("${dingtalk.agent_id}")
private long agentId;
}
package com.example.testdingding.util;
public class DingTalkUrlConstants {
private static final String HOST = "https://oapi.dingtalk.com";
/**
* 钉钉网关 gettoken 地址
*/
public static final String URL_GET_TOKEN = HOST + "/gettoken";
/**
* 获取 jsapi_ticket 地址
*/
public static final String URL_GET_JSTICKET = HOST + "/get_jsapi_ticket";
/**
* 发送钉钉工作通知接口URL
*/
public static final String URL_SEND_WORK_NOTICE = HOST + "/topapi/message/corpconversation/asyncsend_v2";
/**
* 获取用户在企业内 userId 的接口URL
*/
public static final String URL_GET_USER_INFO = HOST + "/user/getuserinfo";
/**
* 获取用户姓名的接口URL
*/
public static final String URL_USER_GET = HOST + "/user/get";
/**
* 获取指定用户的详细信息的接口URL
*/
public static final String URL_USERINFO_GET = HOST + "/topapi/v2/user/get";
/**
* 获取部门列表接口URL
*/
public static final String URL_DEPARTMENT_LIST = HOST + "/department/list";
/**
* 获取部门用户详情接口URL
*/
public static final