有度 java sdk开发,GitHub - youduim/youdu-sdk-java: ydsdk实现的java版
java版有度SDK说明
SDK类介绍
类名
使用说明
YDApp
有度应用对象
AppClient
应用消息发送
OrgClient
组织架构管理
GroupClient
群管理
SysMsgClient
系统消息发送
IdentifyClient
单点登录身份认证
SessionClient
会话管理及会话消息发送
目录
YDApp 有度应用对象
有度应用对象是所有接口都需要用到的基础对象
构建YDApp
import im.youdu.sdk.entity
YDApp ydApp = new YDApp(int buin, String srvHost, String appName, String appId, String token, String appAesKey)
buin: 企业总机号
srvHost: 有度服务器地址,例如 10.0.0.168:7080
appName: 应用名称
appId: 应用ID
token: 应用回调设置的token,没有就传空串
appAesKey: 应用回调设置的EncodingAESKey
AppClient
构建AppClient
import im.youdu.sdk.client
AppClient appClient = new AppClient(ydApp)
uploadImage 上传图片
appClient.uploadImage(String name, String path)
name: 图片名称
path: 图片绝对路径。如果name为空就从path读取
uploadImageWithBytes 上传图片
appClient.uploadImageWithBytes(String name, byte[] data)
name: 图片名称
data: 图片二进制数据
uploadFile 上传文件
appClient.uploadFile(String name, String path)
name: 文件名称
path: 文件绝对路径。如果name为空就从path读取
uploadFileWithBytes 上传文件
appClient.uploadFileWithBytes(String name, byte[] data)
name: 文件名称
data: 文件二进制数据
uploadVoice 上传语音
appClient.uploadVoice(String name, byte[] data)
name: 语音文件名称
data: 语音文件二进制数据
uploadVideo 上传视频
appClient.uploadVideo(String name, byte[] data)
name: 视频文件名称
data: 视频文件二进制数据
downloadFileAndSave 下载并保存文件
appClient.downloadFileAndSave(String mediaId, String dir)
mediaId: 文件ID
dir: 需要保存的文件夹路径
downloadImageAndSave 下载并保存图片
appClient.downloadImageAndSave(String mediaId, String dir)
mediaId: 图片ID
dir: 需要保存的文件夹路径
sendTextMsg 给应用发送文本消息
appClient.sendTextMsg(String toUser, String toDept, String content)
toUser: 消息接收者,多个接收者用|分隔
toDept: 消息接收部门,多个部门用|分隔
content: 文字内容
sendFileMsg 给应用发送文件消息
appClient.sendFileMsg(String toUser, String toDept, String fileName, String filePath)
fileName: 文件名称
filePath: 文件绝对路径
sendFileMsgWithMediaId 给应用发送文件消息
appClient.sendFileMsgWithMediaId(String toUser, String toDept, String mediaId)
mediaId: 文件ID
sendImageMsg 给应用发送图片消息
appClient.sendImageMsg(String toUser, String toDept, String imageName, String imagePath)
fileName: 图片名称
filePath: 图片绝对路径
sendImageMsgWithMediaId 给应用发送图片消息
appClient.sendImageMsgWithMediaId(String toUser, String toDept, String mediaId)
mediaId: 文件ID
sendLinkMsg 给应用发送隐式链接消息
appClient.sendLinkMsg(String toUser, String toDept, LinkBody link)
link: 隐式链接对象
构建LinkBody对象:
import im.youdu.sdk.entity
LinkBody body = new LinkBody(String url, String title, int action);
url: 需要点击打开的网页链接
title: 隐式链接显示的标题
action:1:有度客户端会在url追加上有度身份认证token
sendExlinkMsg 给应用发送外链消息
appClient.sendExlinkMsg(String toUser, String toDept, ExlinkBody exLink)
exLink: 外链对象
构建外链对象
ExlinkBodyCell cell = new ExlinkBodyCell(String title, String url, String digest, String mediaId)
title: 外链标题
url: 需要点击打开的网页链接
digest:外链摘要
mediaId: 外链需要显示的图片,可为空
例如:
ExlinkBodyCell cell1 = new ExlinkBodyCell("有度","https://youdu.im","有度官网", "");
ExlinkBodyCell cell2 = new ExlinkBodyCell("有度下载","https://youdu.im/download.html","有度下载", "");
ExlinkBody body = new ExlinkBody();
body.addCell(cell1);
body.addCell(cell2);
sendMpnewsMsg 给应用发送图文消息
appClient.sendMpnewsMsg(String toUser, String toDept, MpnewsBody mpnews)
mpnews: 图文对象
setAppNotice 设置应用角标(待办数通知)
appClient.setAppNotice(String account, int count, String tips)
account: 目标用户账号
count: 角标值(待办数)
tips: 弹窗提醒,不需要就传空串
OrgClient
Dept
import im.youdu.sdk.entity.Dept;
Dept ydDept = new Dept(int id, String name, int parentId, int sortId, String alias)
id:部门编号
name: 部门名称
parentId: 父部门编号, 根部门ID为0
sortId: 部门排序
alias: 部门别名
构建OrgClient
import im.youdu.sdk.client
OrgClient orgClient = new OrgClient(ydApp)
createDept 创建部门
int deptId = orgClient.createDept(Dept dept)
dept: 部门信息
deptId: 部门编号
updateDept 修改部门
orgClient.updateDept(Dept dept)
dept: 部门信息
getDept 获取部门
Dept dept = orgClient.getDept(int deptId)
deptId: 部门编号
deleteDept 删除部门
orgClient.deleteDept(int deptId)
deptId: 部门编号
listDeptChildren 获取部门直属子部门列表
List depts = orgClient.listDeptChildren(int deptId)
deptId: 部门编号。根部门ID为0
listDeptSelfAndChildren 获取部门及直属子部门列表
List depts = orgClient.listDeptSelfAndChildren(int deptId)
deptId: 部门编号。根部门ID为0
getDeptIdByAlias 根据别名获取部门ID
int deptId = orgClient.downloadFileAndSave(String alias)
alias: 部门别名
deptId: 部门编号
listAliasDept 获取部门别名列表
List depts = orgClient.listAliasDept()
depts: 图片ID
import im.youdu.sdk.entity.AliasDept
int deptId; //部门编号
String alias; //别名
SysMsgClient
构建SysMsgClient
import im.youdu.sdk.client;
int buin = 707168;
String host = "127.0.0.1:7080";
String appId = "sysMsgAssistant";
String appAESKey = "nHff0+CrZRd0jg/o+b2BpLVVI0XzgOkasRaz50k80KE=";
YDApp app = new YDApp(buin, host, "", appId, "", appAESKey);
SysMsgClient sysmsgClient = new SysMsgClient(app);
sendSysMsg 发送系统消息
sysmsgClient.sendSysMsg(String toUser, String toDept, SysMsgBody sysMsg)
sysMsg: 系统消息对象
构建SysMsgBody对象:系统消息支持文本和隐式链接
import im.youdu.sdk.client;
SysMsgBody sysMsg = new SysMsgBody();
sysMsg.setTitle("有度即时通"); //设置系统消息标题
sysMsg.addTextBody("欢迎使用有度即时通:"); //添加文字内容
sysMsg.addLinkBody("https://youdu.im","有度官网",0);//添加隐式链接
IdentifyClient
有度身份认证
构建IdentifyClient对象
import im.youdu.sdk.client;
String host = "127.0.0.1:7080";
IdentifyClient identifyClient = new IdentifyClient(host);
idetify 身份认证获取用户信息
UserInfo userInfo = identifyClient.idetify(String ydToken)
ydToken: 有度客户端提供的认证token
userInfo:根据ydToken获取到的有度用户信息
account: 账号
chsName: 姓名
gender: 性别, 0:男; 1:女
mobile: 手机号码
phone: 座机号码
email: 邮箱账号
GroupClient 群管理
构建GroupClient对象
import im.youdu.sdk.client;
int buin = 707168;
String host = "127.0.0.1:7080";
String appId = "sysOrgAssistant";
String appAESKey = "n76ut0qxPWozXbMxGMt8s9pgxUZKUxu/GJ5R5dz+u4g=";
YDApp app = new YDApp(buin, host, "", appId, "", appAESKey);
GroupClient groupClient = new GroupClient(app);
createGroup 创建群
groupClient.createGroup(String groupName)
groupName: 群名称
listAllGroups 获取所有群列表
List groups = groupClient.listAllGroups()
GroupBase: 群基本信息
id: 群ID
name: 群名称
listUserGroups 获取用户的所有群列表
List groups = groupClient.listUserGroups(String userId)
userId: 用户账号
deleteGroup 删除群
groupClient.deleteGroup(String groupId)
groupId: 群ID
updateGroupName 更新群名称
groupClient.updateGroupName(String groupId, String groupName)
groupId: 群ID
groupName: 群名称
groupInfo 获取群信息
groupClient.groupInfo(String groupId)
groupId: 群ID
addGroupMember 增加群成员
groupClient.addGroupMember(String groupId, String[] addUserList)
groupId: 群ID
addUserList: 要增加的群成员账号列表
delGroupMember 删除群成员
groupClient.delGroupMember(String groupId, String[] delUserList)
groupId: 群ID
delUserList: 要删除的群成员账号列表
isGroupMember 判断用户是否群成员
groupClient.isGroupMember(String groupId, String userId)
groupId: 群ID
userId: 用户账号
SessionClient
构建SessionClient对象
import im.youdu.sdk.client;
int buin = 707168;
String host = "127.0.0.1:7080";
String appId = "sysOrgAssistant";
String appAESKey = "n76ut0qxPWozXbMxGMt8s9pgxUZKUxu/GJ5R5dz+u4g=";
YDApp app = new YDApp(buin, host, "", appId, "", appAESKey);
SessionClient sessionClient = new SessionClient(app);
SessionInfo 会话对象
sessionId: 会话ID
title: 会话标题
owner: 会话创建者
version: 会话版本号
type: 会话类型
member: 会话成员账号列表
只需创建多人会话,单人会话不需要创建。
群会话ID就是创建群的时候返回的群ID,所以如果需要给群发送消息,可以通过GroupClient拉取群列表获取到相应群的ID即可。
createSession 创建会话
SessionInfo session = sessionClient.createSession(SessionCreateBody body)
SessionCreateBody:
title: 会话标题
creator: 创建者账号
member: 成员账号列表
type: 会话类型,不需要填写,默认就是multi(多人会话)
getSession 获取会话
sessionClient.getSession(String sessionId)
sessionId: 会话ID
updateSessionTitle 更新会话标题
sessionClient.updateSessionTitle(String sessionId,String opUser,String title)
sessionId: 会话ID
opUser: 修改会话标题的用户账号
title: 会话标题
updateSession 更新会话
sessionClient.updateSession(SessionUpdateBody body)
SessionUpdateBody:
sessionId: 会话ID
opUser: 修改会话标题的用户账号
title: 会话标题
addMember: 增加的成员列表
delMember: 删除的成员列表
sendSingleTextMsg 发送单人会话文字消息
sessionClient.sendSingleTextMsg(String fromUser, String toUser, String content)
fromUser: 消息发送人账号
toUser: 消息接收者账号
content: 文本消息
sendSingleImgMsg 发送单人会话图片消息
sessionClient.sendSingleImgMsg(String fromUser, String toUser, String imgPath)
fromUser: 消息发送人账号
toUser: 消息接收者账号
imgPath: 图片绝对路径
sendSingleImgMsgWithMediaId 发送单人会话图片消息
sessionClient.sendSingleImgMsgWithMediaId(String fromUser, String toUser, String imgId)
fromUser: 消息发送人账号
toUser: 消息接收者账号
imgId: 图片ID
sendSingleFileMsg 发送单人会话文件消息
sessionClient.sendSingleFileMsg(String fromUser, String toUser, String filePath)
fromUser: 消息发送人账号
toUser: 消息接收者账号
filePath: 文件绝对路径
sendSingleFileMsgWithFileId 发送单人会话文件消息
sessionClient.sendSingleFileMsgWithFileId(String fromUser, String toUser, String fileId)
fromUser: 消息发送人账号
toUser: 消息接收者账号
fileId: 文件ID
sendSingleVoiceMsg 发送单人会话语音消息
sessionClient.sendSingleVoiceMsg(String fromUser, String toUser, byte[] voiceData)
fromUser: 消息发送人账号
toUser: 消息接收者账号
voiceData: 语音文件二进制数据
sendSingleVideoMsg 发送单人会话视频消息
sessionClient.sendSingleVideoMsg(String fromUser, String toUser, byte[] videoData)
fromUser: 消息发送人账号
toUser: 消息接收者账号
videoData: 视频文件二进制数据
sendSessionTextMsg 发送多人会话文字消息
sessionClient.sendSessionTextMsg(String fromUser, String sessionId, String content)
fromUser: 消息发送人账号
sessionId: 会话ID
content: 文本消息
sendSessionImgMsg 发送多人会话图片消息
sessionClient.sendSessionImgMsg(String fromUser, String sessionId, String imgPath)
fromUser: 消息发送人账号
sessionId: 会话ID
imgPath: 图片绝对路径
sendSessionImgMsgWithImgId 发送多人会话图片消息
sessionClient.sendSessionImgMsgWithImgId(String fromUser, String sessionId, String imgId)
fromUser: 消息发送人账号
sessionId: 会话ID
imgId: 图片ID
sendSessionFileMsg 发送多人会话文件消息
sessionClient.sendSessionFileMsg(String fromUser, String sessionId, String filePath)
fromUser: 消息发送人账号
sessionId: 会话ID
filePath: 文件绝对路径
sendSessionFileMsgWithFileId 发送多人会话文件消息
sessionClient.sendSessionFileMsgWithFileId(String fromUser, String sessionId, String fileId)
fromUser: 消息发送人账号
sessionId: 会话ID
fileId: 文件ID
sendSessionVoiceMsg 发送多人会话语音消息
sessionClient.sendSessionVoiceMsg(String fromUser, String sessionId, byte[] voiceData)
fromUser: 消息发送人账号
toUser: 消息接收者账号
voiceData: 语音文件二进制数据
sendSessionVideoMsg 发送多人会话视频消息
sessionClient.sendSessionVideoMsg(String fromUser, String sessionId, byte[] videoData)
fromUser: 消息发送人账号
toUser: 消息接收者账号
videoData: 视频文件二进制数据
downloadMsgZipFile 获取会话消息zip文件的byte[]内容
sessionClient.downloadMsgZipFile(String fileId)
fileId: zip文件id
downloadMsgZipFileAndSave 下载会话消息的zip文件并保存到dir目录
sessionClient.downloadMsgZipFileAndSave(String fileId, String dir)
fileId: zip文件id
dir: 需要保存的文件夹路径
有度 java sdk开发,GitHub - youduim/youdu-sdk-java: ydsdk实现的java版相关推荐
- 有度 java sdk开发,GitHub - Kisssky/youdu-sdk-java: ydsdk实现的java版
java版有度SDK说明 SDK类介绍 类名 使用说明 YDApp 有度应用对象 AppClient 应用消息发送 OrgClient 组织架构管理 GroupClient 群管理 SysMsgCli ...
- java 接口开发时间_这35个接口,用Java开发,一般要多少天?一天可以完成多少个...
数据库设计比 Java 代码开发慢很多,如果数据库是设计好的,Java 只纯开发接口的话,也就是写 35 个 SQL 语句多些时间,但是为了保证正确性,代码要重构的漂亮,需要大量的测试,这个比较花时间 ...
- eclipse android sdk开发环境搭建,Android SDK 2.3与Eclipse最新版开发环境搭建(四)
五. Eclipse ADT 配置 ADT 的Eclipse Plugin 安装成功之后,开始ADT 的配置,具体如下: 1. Eclipse重启后,选择Window > Preferences ...
- html5游戏sdk开发,自用游戏HTML5 sdk技术设计手册
1.概述 1.1.目的 指导合作伙伴的HTML5工程师开发集成sgt平台开放能力. 2.准备 2.1.技术架构 使用jQuery库 2.2.引用jQuery和jsonrpc2.0 2.2.定义变量 v ...
- java完整开发环境搭建_如何搭建一个完整的Java开发环境
这篇文章主要教大家如何搭建一个完整的Java开发环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境 ...
- 在java中开发图形用户_2016年计算机二级考试《JAVA》习题:编写图形用户界面
第9章 编写图形用户界面 1[单选题]哪个布局管理器使用的是组件的尺寸? ( ) A.FlowLayout B.BorderLayoutC.GridLayout D.CardLayout 参考答案:A ...
- ESP8266 Non-OS SDK 开发之旅 基础篇① 初识 Non-OS SDK,史上超级详细手把手教小白20分钟快速搭建SDK软件开发环境,完成第一个例子Hello World!
文章目录 1.前言 2. SDK概述 2.1 SDK使用流程 2.2 ESP8266 HDK -- 硬件开发工具 2.3 ESP8266 SDK -- 软件开发工具包 2.3.1 Non-OS SDK ...
- 游戏开发需要具备哪些技术_短视频 SDK 开发 (一) 开发一款短视频 SDK 需要具备哪些知识?...
前言 2020 年要属什么最火,肯定是短视频和直播带货了.我自己基本上每天晚上睡觉之前都会刷一会儿 douyin 短视频,不得不承认 douyin 的推荐算法是真 nb ,推荐的都是我的最爱 ? .那 ...
- android aar项目_一文了解Android游戏SDK开发
去年从平安离职之后,加入了一家游戏公司,负责游戏SDK相关的业务开发和维护工作,经过半年来的摸索,对于游戏SDK的开发有了一定的理解,下面就对游戏SDK开发涉及到的知识点进行简单的梳理. SDK SD ...
最新文章
- PowerShell因为在此系统中禁止执行脚本
- SpringCloud(第二部分)
- php获取系统常量函数,PHP:从php文件中获取PHP的变量,函数和常量
- 【转载】二分图最大匹配的König定理及其证明 Matrix67原创
- 未定义函数或变量 'wavplay'。原因:2014a已经移除函数
- 彻底卸载sql sever 2005
- 酷派删除android系统软件,Coolpad酷派8720L哪些系统软件可以删除(精简列表)
- ble mesh 学习笔记(9)telink的mesh-lpn代码分析
- DAOS 源码解析之 daos_pool
- 全球四大卫星导航系统
- AURIX Development Studio软件介绍
- Git配置详细教程及基础使用方法,教你轻松学会git代码管理
- 防抖为什么要使用闭包
- Gabby 的BLOG 开张了!
- (matlab代码分享,可运行) 多技能员工排班调度多目标优化(技能熟练度包含学习型、遗忘型)(Part 1)
- Android 软键盘的确定键修改
- 失、思与诗-给那个在地坛里玩耍的孩子
- android aoa usb,建立通过USB连接线使用AOA protocal两款Android设备
- 《Python语言程序设计》王恺 王志 李涛 机械工业出版社第7章 I/O编程与异常 课后习题答案【强烈推荐】
- es6转化es5普通html页面,JS语法转换-ES6转ES5
热门文章
- KingbaseES数据库Windows环境下注册数据库服务
- 保险企业使用实时客户反馈来提高满意度的 3 种方式
- java 多个throw_Java throw和throws 关键字
- 通过swagger2markup来实现swagger2 Word/PDF/HTML的导出
- 光场成像2.0——聚焦型光场相机
- php直播接口代码,网易云视频直播php版api
- 从MAAS内调试curtin
- 海康威视 sdk 报警订阅 java代码编写
- oracle vm3.4安装,受支持的平台 - 
Oracle® VM Server for SPARC 3.4 安装指南
- clearInterval() 函数详解