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版相关推荐

  1. 有度 java sdk开发,GitHub - Kisssky/youdu-sdk-java: ydsdk实现的java版

    java版有度SDK说明 SDK类介绍 类名 使用说明 YDApp 有度应用对象 AppClient 应用消息发送 OrgClient 组织架构管理 GroupClient 群管理 SysMsgCli ...

  2. java 接口开发时间_这35个接口,用Java开发,一般要多少天?一天可以完成多少个...

    数据库设计比 Java 代码开发慢很多,如果数据库是设计好的,Java 只纯开发接口的话,也就是写 35 个 SQL 语句多些时间,但是为了保证正确性,代码要重构的漂亮,需要大量的测试,这个比较花时间 ...

  3. eclipse android sdk开发环境搭建,Android SDK 2.3与Eclipse最新版开发环境搭建(四)

    五. Eclipse ADT 配置 ADT 的Eclipse Plugin 安装成功之后,开始ADT 的配置,具体如下: 1. Eclipse重启后,选择Window > Preferences ...

  4. html5游戏sdk开发,自用游戏HTML5 sdk技术设计手册

    1.概述 1.1.目的 指导合作伙伴的HTML5工程师开发集成sgt平台开放能力. 2.准备 2.1.技术架构 使用jQuery库 2.2.引用jQuery和jsonrpc2.0 2.2.定义变量 v ...

  5. java完整开发环境搭建_如何搭建一个完整的Java开发环境

    这篇文章主要教大家如何搭建一个完整的Java开发环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境 ...

  6. 在java中开发图形用户_2016年计算机二级考试《JAVA》习题:编写图形用户界面

    第9章 编写图形用户界面 1[单选题]哪个布局管理器使用的是组件的尺寸? ( ) A.FlowLayout B.BorderLayoutC.GridLayout D.CardLayout 参考答案:A ...

  7. 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 ...

  8. 游戏开发需要具备哪些技术_短视频 SDK 开发 (一) 开发一款短视频 SDK 需要具备哪些知识?...

    前言 2020 年要属什么最火,肯定是短视频和直播带货了.我自己基本上每天晚上睡觉之前都会刷一会儿 douyin 短视频,不得不承认 douyin 的推荐算法是真 nb ,推荐的都是我的最爱 ? .那 ...

  9. android aar项目_一文了解Android游戏SDK开发

    去年从平安离职之后,加入了一家游戏公司,负责游戏SDK相关的业务开发和维护工作,经过半年来的摸索,对于游戏SDK的开发有了一定的理解,下面就对游戏SDK开发涉及到的知识点进行简单的梳理. SDK SD ...

最新文章

  1. PowerShell因为在此系统中禁止执行脚本
  2. SpringCloud(第二部分)
  3. php获取系统常量函数,PHP:从php文件中获取PHP的变量,函数和常量
  4. 【转载】二分图最大匹配的König定理及其证明 Matrix67原创
  5. 未定义函数或变量 'wavplay'。原因:2014a已经移除函数
  6. 彻底卸载sql sever 2005
  7. 酷派删除android系统软件,Coolpad酷派8720L哪些系统软件可以删除(精简列表)
  8. ble mesh 学习笔记(9)telink的mesh-lpn代码分析
  9. DAOS 源码解析之 daos_pool
  10. 全球四大卫星导航系统
  11. AURIX Development Studio软件介绍
  12. Git配置详细教程及基础使用方法,教你轻松学会git代码管理
  13. 防抖为什么要使用闭包
  14. Gabby 的BLOG 开张了!
  15. (matlab代码分享,可运行) 多技能员工排班调度多目标优化(技能熟练度包含学习型、遗忘型)(Part 1)
  16. Android 软键盘的确定键修改
  17. 失、思与诗-给那个在地坛里玩耍的孩子
  18. android aoa usb,建立通过USB连接线使用AOA protocal两款Android设备
  19. 《Python语言程序设计》王恺 王志 李涛 机械工业出版社第7章 I/O编程与异常 课后习题答案【强烈推荐】
  20. es6转化es5普通html页面,JS语法转换-ES6转ES5

热门文章

  1. KingbaseES数据库Windows环境下注册数据库服务
  2. 保险企业使用实时客户反馈来提高满意度的 3 种方式
  3. java 多个throw_Java throw和throws 关键字
  4. 通过swagger2markup来实现swagger2 Word/PDF/HTML的导出
  5. 光场成像2.0——聚焦型光场相机
  6. php直播接口代码,网易云视频直播php版api
  7. 从MAAS内调试curtin
  8. 海康威视 sdk 报警订阅 java代码编写
  9. oracle vm3.4安装,受支持的平台 - Oracle® VM Server for SPARC 3.4 安装指南
  10. clearInterval() 函数详解