好视通视频会议私有云产品接入接口规范V1.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

好视通视频会议私有云产品接入
接口规范
深圳银澎云计算股份有限公司
2015年6月1日
版本修订记录
目录
一、文档说明 (5)
1.1. 接口应用说明 (5)
1.2. 本文档适用读者 (5)
二、接口范围 (6)
三、PC客户端调用接口 (6)
3.1. 接口说明: (6)
3.2. 命令行登录接口 (7)
3.3. 页面登录接口 (9)
四、IOS客户端调用接口 (13)
4.1. 调用接口说明 (13)
4.2. 用户名和密码方式登录 (13)
4.3. 仅仅启动APP (13)
五、Android客户端调用接口 (14)
5.1. 调用接口说明 (14)
5.2. 用户名和密码方式登录 (14)
5.3. 仅仅启动APP (15)
六、会控及数据交互接口 (15)
6.1. 接口协议 (15)
6.2. WebService接口功能列表 (16)
6.2.1. 新增用户信息 (16)
6.2.2. 批量注册用户 (17)
6.2.3. 修改用户信息 (17)
6.2.4. 删除用户信息 (19)
6.2.5. 获得用户信息 (19)
6.2.6. 新增会议 (20)
6.2.7. 通过会议室给用户授权 (21)
6.2.8. 通过用户名给会议授权 (21)
6.2.9. 删除会议室 (22)
.
6.2.10. 修改会议室信息 (22)
6.2.11. 获取会议室信息 (23)
6.2.12. 获取用户有权限的会议室列表 (24)
6.2.13. 获取会议室授权的用户列表 (24)
6.2.14. 获取会议室登录地址 (25)
6.2.15. 错误信息代码 (25)
6.2.16. 调用方式参考 (26)
一、文档说明
1.1.接口应用说明
随着移动互联网、智能终端和“互联网+”的飞速发展,云会议产品已经深入到金融、交通、运输、教育等不同行业,而且在人们的日程生活、工作中起着日益重要的作用。

同时,各类消费者的不同需求也要求厂家能够提供更加细致的定制化功能。

比如和企业网站的交互、企业办公软件(OA)的交互。

针对市场需求,好视通推出了视频会议企业版接口,涵盖了客户端的命令行调用、Web页面调用、IOS客户端调用、Android客户调用等不同调用方式;通过WebService接口,为客户提供了更加丰富的二次开发接口,客户可通过WebService接口,对登陆会议的账号、会议室、权限等进行更加细致的功能开发。

1.2.本文档适用读者
本文档在于定义好视通云会议产品与第三方系统交互的接口,包括但不限于产品之间的互相调用以及业务模块之间通讯的接口协议,用于好视通产品的OEM或者ODM项目,以及第三方厂家的二次开发工作。

本文档的适用读者包括:
1)好视通云会议产品相关销售、测试、研发人员。

2)第三方厂家相关销售、测试、研发人员
二、接口范围
本文档涵盖的产品包括:好视通私有云会议管理平台、好视通视频会议客户端、好视通IOS客户端、好视通Android客户端。

三、PC客户端调用接口
3.1.接口说明:
好视通运营平台提供2种客户端登录接口,供第三方产品调用。

分别为:
1、命令行登录接口:
命令行登录接口是通过在好视通客户端进程名后面添加命令行参数的方法,启动好视通客户端,登录会议。

2、页面登录接口
通过web页面方式,可直接启动好视通客户端。

如果是嵌入B/S系统,建议采用第2种页面登录接口。

如是果嵌入C/S 系统,建议采用第1种命令行登录接口。

3.2.命令行登录接口
好视通客户端进程为客户端安装目录的FastMeeting.exe文件,客户端安装目录默认为C:\Program Files\Fastonz\FMClient\FMDesktop\FastMeeting.exe,可以通过查询注册表路径HKEY_CURRENT_USER\Software\Fastonz\FMDesktop下的FilePath,获得客户端进程的完整路径名。

客户端的命令行参数定义如下:
-rid 会议室ID
-rpwd 会议室密码
-uname(必填)用户名
-upwd 用户密码
-utype 用户类型,0为游客1为注册用户,默认为1
-link(必填)服务器登录地址,例如TCP:localhost:1089
-node 节点ID(一般不需要填写)
-run 客户端登录后的自动执行的操作,定义如下:
RA申请发言
RD申请主讲
RV 广播本地视频
RR 开始会议录制
W1切换到标准布局
W2 切换到培训布局
W3 切换到视频布局
WF 切换到全屏模式
WV1 切换到1分屏模式
WV2 切换到2分屏模式
WV3 切换到画中画分屏模式
WV4 切换到4分屏模式
WV6 切换到6分屏模式
WV9 切换到9分屏模式
WV12 切换到12分屏模式
WV16 切换到16分屏模式
WV25 切换到25分屏模式
可以同时使用多个操作,中间用分号分隔
当utype为1时,-upwd为必填
当utype为0时,-rid为必填
例如:
FastMeeting -rid 10104 –uname t08 –upwd 8888 –link TCP:localhost:1089
FastMeeting -rid 10104 –rpwd 1111 –uname hello –utype 0 –link TCP:localhost:1089
如果某项参数为空,相应的前缀也不能出现在命令行中,例如:
FastMeeting -rid –uname t08 –upwd 8888 –link TCP:localhost:1089 就是错误的,因为-rid参数为空,就不应该在命令行中添加-rid
3.3.页面登录接口
3.3.1使用好视通登录页面
好视通运营平台提供了使用URL地址的方式直接进入会议,其调用接口为:
http:// localhost:8080/fm/userMgr/entermeeting.jsp
可输入参数如下:
userName:用户名
userPwd:用户密码
userType: 用户登陆类型,0为匿名登陆,1为凭用户名密码登陆
roomID:会议室ID号
roomPwd:会议室登陆密码(与后台设置的会议室登陆校验模型相关)
出现以下两种情形之一时,登陆页面将会提示用户输入用户名和密码:
1、未带参数userName
2、userType为1但未带参数userPwd
如果userType为0时,不会显示密码输入框。

示例参考:
http://localhost:8080/fm/userMgr/entermeeting.jsp?roomID=10104&userName =t08&userPwd=8888
http://localhost:8080/fm/userMgr/entermeeting.jsp?roomID=10104&userNa me=hello&userType=0&roomPwd=1111
http://localhost:8080/fm/userMgr/entermeeting.jsp?roomID=10104
3.3.2自定义登录页面
客户可以在自己的web页面中直接调用启动助手。

示例代码如下:
启动助手登陆协议:
Launcher.FSM://
参数:{客户端下载地址}{Fastonz}{FMDesktop}{-link 服务器地址-uname “用户名” -utype 用户类型-rid 会议室id -upwd 用户密码-rpwd 会议室密码-node 1}
参数定义如下:
-rid 会议室ID
-rpwd 会议室密码
-uname(必填)用户名
-upwd 用户密码
-utype 用户类型,0为游客1为注册用户,默认为1
-link(必填)服务器登录地址,例如TCP:localhost:1089
-node 节点ID(默认1)
1、自定义协议组装:组装参数字符串,调用base64.js中的encode64方法编码,编码后的字符串,放到协议头之后,组装成url 连接
2、安装好视通启动助手后,可直接把url连接,使用js(window.location.href = url;)打开,到这里就能把客户端调起来,并且自动进行参数赋值,可直接登陆到会议中。

3、Base64.js
// Base64.js
var ua = erAgent.toLowerCase();
if (ua.indexOf(" chrome/") >= 0 || ua.indexOf(" firefox/") >= 0 || ua.indexOf(' gecko/') >= 0) { var StringMaker = function () {
this.str = "";
this.length = 0;
this.append = function (s) {
this.str += s;
this.length += s.length;
}
this.prepend = function (s) {
this.str = s + this.str;
this.length += s.length;
}
this.toString = function () {
return this.str;
}
}
} else {
var StringMaker = function () {
this.parts = [];
this.length = 0;
this.append = function (s) {
this.parts.push(s);
this.length += s.length;
}
this.prepend = function (s) {
this.parts.unshift(s);
this.length += s.length;
}
this.toString = function () {
return this.parts.join('');
}
}
}
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function encode64(input) {
var output = new StringMaker();
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
while (i < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
}
return output.toString();
}
例如:
第一步,参数串组装:
{http://localhost:8080/download/FMDesktopV3.8.6.3.exe}{Fastonz}{FMDesktop}{-link
TCP:localhost:1089 -uname “test” -utype 0 -rid 10001 -upwd 1111 -rpwd 1111 -node 1} 第二步,js调用例子
Js调用:
var url = "Launcher.FSM://" +
encode64("{http://localhost:8080/download/FMDesktopV3.8.6.3.exe}{Fastonz}{FMDesktop}{-link TCP:localhost:1089 -uname “test”-utype 0 -rid 10001 -upwd 1111 -rpwd 1111 -node 1}"); setTimeout(function(){
window.location.href = url;
}, 1);
四、IOS客户端调用接口
在IOS操作系统中,客户程序可以通过以下方式启动好视通IOS客户端。

4.1.调用接口说明
参数说明:
userName; 用户名
userPwd; 用户密码
userType; 用户登陆类型,2为匿名登陆,1为凭用户名密码登陆
roomID; 会议室ID号
roomPwd; 会议室登陆密码(与后台设置的会议室登陆校验模型相关svrAddress; 服务器地址
nickName; 昵称,userType=2匿名登录时才需要设置
svrPort; 服务器端口
auto: 1自动登录0手动登录
4.2.用户名和密码方式登录
例如:用户名:hst 密码:111, 自动登录
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@”FSMeetingClient://userType(1)userName(hst)userPwd(111)auto(1)”]];
如果需要设置服务器地址或端口
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@”FSMeetingClient://userType(1)userName(hst)userPwd(111)auto(1)svrAddress(192.168.5.67)s vrPort(1089)”]];
4.3.仅仅启动APP
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@”FSMeetingClient://”]];
五、Android客户端调用接口
5.1.调用接口说明
参数说明:
userName:用户名
userPwd:用户密码
svrAddress:服务器地址
svrPort:服务器端口
5.2.用户名和密码方式登录
例如:用户名:hst 密码:111
ComponentName apk2Component1 = new ComponentName("com.fastonz.fastmeeting","com.fastonz.fastmeeting.ui.StartTheMiddleTie rActivity");
Intent mIntent = new Intent();
Bundle mBundle = new Bundle();
mBundle.putString(“userName”,hst);
mBundle.putString(“userPwd”,111);
mIntent.putExtras(mbundle);
mIntent.setComponent(apk2Component1);
startActivity(mIntent);
如果需要设置服务器地址或端口:
ComponentName apk2Component1 = new
ComponentName("com.fastonz.fastmeeting","com.fastonz.fastmeeting.ui.StartTheMiddleTie rActivity");
Intent mIntent = new Intent();
Bundle mBundle = new Bundle();
mBundle.putString(“userName”,hst);
mBundle.putString(“userPwd”,111);
mBundle.putString(“svrAddress”, 192.168.5.67);
mBundle.putString(“svrPort”, 1089);
mIntent.putExtras(mbundle);
mIntent.setComponent(apk2Component1);
startActivity(mIntent);
5.3.仅仅启动APP
ComponentName apk2Component = new
ComponentName("com.fastonz.fastmeeting","com.fastonz.fastmeeting.ui.StartTheMiddleTie rActivity");
Intent intent = new Intent();
intent.setComponent(apk2Component);
startActivity(intent);
六、会控及数据交互接口
6.1.接口协议
接口调用地址:http://localhost:8080/fmws/services/WsService
密钥:
keyCode=fswebservice2011
密钥用于对WebService接口的访问认证,默认为fswebservice2011,访问时需要对密钥进行MD5加密。

接口中出现的keyCode都是fswebservice2011加密后字符串:3025495AEE146DA3864AB81BAAF79A3E
6.2.WebService接口功能列表
6.2.1.新增用户信息
public String regUser(String username,String passpwd,String Nickname,String keyCode)
说明:这里的密码(passpwd)是原密码,没有经过md5加密的。

参数
返回值:字符串参考返回码
public String regUserMD5ed(String username,String passpwd,String Nickname,String keyCode)
说明:这里的密码(passpwd),是原密码经过md5加密后的字符串参数,加密后的passpwd密码长度必须为32位
返回值:字符串参考返回码
6.2.2.批量注册用户
public String batchRegUser(String preName,int num,String passpwd,String keyCode)
说明:这里的密码(passpwd),是原密码(没有经过md5加密的)
参数
返回值:字符串参考返回码
6.2.3.修改用户信息
public String editUserinfo(int userid,String username,String passpwd,String nickname,String mobile,String email,String keyCode)
说明:这里的密码(passpwd),是原密码(没有经过md5加密的)
参数
返回值:字符串参考返回码
public String editUserinfoMD5ed(int userid,String username,String passpwd,String nickname,String mobile,String email,String keyCode)throws Exception;
参数
说明:这里的密码(passpwd),是原密码经过md5加密后的字符串参数,加密后的passpwd密码长度32位
返回值:字符串参考返回码
6.2.4.删除用户信息
public String delUser(int userid,String username,String keyCode)
参数
userid不能为空,如果不使用userid,可以指定为0
返回值:字符串参考返回码
6.2.5.获得用户信息
public String getUserinfoXml(int userid,String searchName,String keyCode) 参数:
userid不能为空,如果不使用userid,可以指定为0
返回值如:user-jdom.xml里内容
6.2.6.新增会议
public String addRoominfo(String roomName,String roomType,String password,String verifyMode,int maxUserCount,String hopeStartTime,String hopeEndTime,String enableChairPwd,String chairPassword,String keyCode)
说明:这里的密码(passpwd),是原密码(没有经过md5加密的)
参数
返回值:新增会议室ID。

如果返回值<10000,表示发生错误,返回错误码
6.2.
7.通过会议室给用户授权
public String doUserRightbyUserName(String arrUserNameandRight,int roomId,String keyCode)
参数
返回值:字符串参考返回码
arrUserNameandRight格式说明:用户名(userName) 权限值(UserRight)# 用户名(userName) 权限值(UserRight)
权限值定义:1旁听2 出席3 主持
权限值为空或为0时,表示取消该用户会议室权限
6.2.8.通过用户名给会议授权
public String doRoomRightByUserName (String arrRoomIdandRight,String userName,String keyCode)
参数
返回值:字符串参考返回码
arrRoomIdandRight 格式说明:会议ID(roomId) 权限值(UserRight)# 会议
ID(roomId) 权限值(UserRight)
6.2.9.删除会议室
public String delRoom(int roomID,String keyCode)
参数
返回值:字符串参考返回码
6.2.10.修改会议室信息
public String editRoominfo(int roomid,String roomName,String roomType,String password,String verifyMode,int maxUserCount,String hopeStartTime,String hopeEndTime,String enableChairPwd,String chairPassword,String keyCode)
说明:这里的密码(passpwd),是原密码(没有经过md5加密的)
参数
返回值:字符串参考返回码
6.2.11.获取会议室信息
public String getRoominfoXml(int roomid,String searchName,String keyCode)
参数
roomid不能为空,如果不使用roomid,可以指定为0
返回值如:room-jdom.xml里内容
6.2.12.获取用户有权限的会议室列表
public String getRoominfoByUserIdXml(int userid,String username,String keyCode)
参数
userid不能为空,如果不使用userid,可以指定为0
返回值如:room-jdom.xml里内容
6.2.13.获取会议室授权的用户列表
public String getUserinfoByRoomIdXml(int roomid,String keyCode)
参数:
返回值如:userright-jdom.xml里内容
6.2.14.获取会议室登录地址public String getLoginAddress(String keyCode) 参数
返回值如:TCP:192.168.1.100:1089
6.2.15.错误信息代码
"000"; //操作成功
"0001"; //用户名已存在或者参数不全
"0002"; //用户名为空
"0003"; //密码为空
"0004"; //昵称为空
"0005"; //必须为整数类型
"0006"; //ID和名称不能同时为空
"0007"; //会议名称为空
"0008"; //登录校验模型为空
"0009"; //会议类型为空
"0010"; //会议容量为0
"0011"; //不存在该数据信息或者操作失败"0012"; //密钥错误
"0013"; //预约开始时间和结束时间为空"0014"; //数据不创造存在或者数据库连接异常"0015"; //密码不是MD5密码字符串"9999"; //系统错误
6.2.16.调用方式参考
请参考文件:
sample.html(脚本调用)。

相关文档
最新文档