有度 java sdk开发,GitHub - Kisssky/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:  需要保存的文件夹路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值