• 沒有找到結果。

开放性简介_会议_开发指南_华为云

N/A
N/A
Protected

Academic year: 2022

Share "开放性简介_会议_开发指南_华为云"

Copied!
38
0
0

加載中.... (立即查看全文)

全文

(1)

20 开发指南

20 开发指南

文档版本 01

发布日期 2022-02-24

(2)

版权所有 © 华为技术有限公司 2022。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。

商标声明

和其他华为商标均为华为技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

华为技术有限公司

地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129 网址:

https://www.huawei.com

客户服务邮箱:

[email protected]

客户服务电话:4008302118

(3)

目 录

1 开放性简介... 1

2 集成华为云会议帐号... 6

3 App ID 鉴权介绍... 9

4 开发流程...17

5 最佳实践...26

6 注意事项...31

7 提交问题工单...32

8 开发者论坛...35

20 开发指南 目 录

(4)

1 开放性简介

华为云会议的开放能力

华为云会议提供服务端开放和客户端开放,开发者可以根据业务的需要使用对应的接 口集成开发。

● 服务端集成:华为云会议提供服务端REST接口开放,包括企业管理、用户管理、

通讯录管理、会议管理、会议控制、仪表盘、网络研讨会管理等能力。第三方业 务系统(包括业务后台或者终端App)可以调用相关接口实现自己的业务逻辑。

● 客户端SDK集成:华为云会议提供了客户端SDK开放,开发者可以在自己开发的 App上集成华为云会议的视频会议能力,实现创会、入会、会控等功能。SDK中已 经集成了入会后的UI,第三方App只需调用少量接口就可以在自己的App中集成华 为云会议的视频能力。

● 客户端Scheme应用集成:华为云会议客户端提供URL Protocol定义好的参数,第 三方应用(包括Web页面或者终端App)可以直接拉起华为云会议客户端并且入 会。

20 开发指南 1 开放性简介

(5)

1-1 华为云会议开放性介绍

1-1 华为云会议开放性能力

开放能力分类 开放能力 开放能力详情

服务端开放能力 企业管理 ● SP管理员增、删、改、查企业

● SP管理员管理企业资源 用户管理 ● 部门增、删、改、查

● 用户增、删、改、查

● 用户密码管理

● 企业通讯录查询

云会议室管理 ● 云会议室分配、修改、回收、查询 硬终端管理 ● 硬终端激活、查询、删除

会议管理 ● 会议/周期性会议创建、修改、查询

● 历史会议查询

会议控制 ● 会中对与会人邀请、挂断、静音等

● 会中对多画面设置

20 开发指南 1 开放性简介

(6)

开放能力分类 开放能力 开放能力详情 会议信息推送 单会议状态推送:

● 与会者状态推送

● 最大发言方推送

● 会议质量推送

● 实时字幕推送

● 会议状态推送

企业级会议状态推送:

● 会议开始状态

● 会议结束状态

● 会议关闭状态 仪表盘 ● 会议QoS查询

● 会议统计 信息窗管理 ● 信息窗发布管理

● 信息窗节目管理

● 信息窗素材管理 客户端UI SDK开

放能力 Android UI SDK ● 创建会议、加入会议、匿名入会

● 预约会议、编辑会议、取消会议、获取 会议详情、会议VMR列表

● 点对点呼叫

iOS UI SDK ● 创建会议、加入会议、匿名入会

● 预约会议

● 点对点呼叫

Windows UI SDK ● 创建会议、加入会议、匿名入会

● 预约会议、编辑会议、取消会议、获取 会议详情、会议VMR列表

● 点对点呼叫

Mac UI SDK ● 创建会议、加入会议、匿名入会

● 预约会议、编辑会议、取消会议、获取 会议详情、会议VMR列表

● 点对点呼叫 客户端Scheme

开放能力

华为云会议

Android App ● 拉起App

● 拉起App并加入会议 华为云会议iOS

App ● 拉起App

● 拉起App并加入会议

20 开发指南 1 开放性简介

(7)

开放能力分类 开放能力 开放能力详情 华为云会议

Windows客户端 ● 拉起App

● 拉起App并加入会议 华为云会议Mac客

户端 ● 拉起App

● 拉起App并加入会议

集成场景 1:第三方系统预约会议,并拉起华为云会议客户端加入会议

第三方应用可以调用华为服务端的REST API预约会议,并且在页面上加入跳转到拉起 华为云会议客户端的URL,实现点击入会的效果。

该场景适用于第三方需要在自己的业务系统中管理和调度会议,并且允许用户使用华 为标准客户端参加会议。

1-2 终端 Scheme 应用集成

REST API的详细介绍参考《服务端API参考》。拉起会议客户端的URL的详细介绍参考

《终端Scheme应用集成》。

集成场景 2:第三方 APP 通过 UI SDK 集成,快速集成会议客户端能力

第三方应用有自己的App,通过在App上调用会议客户端UI SDK接口,快速集成会议 功能。只需要在客户的App上开发对应的入口并调用对应的接口预约会议、创建会 议、加入会议,入会后的会控操作都是SDK提供的界面,无需新开发。

20 开发指南 1 开放性简介

(8)

1-3 第三方 App 基于终端 UI SDK 集成场景

上图中①②③的界面都在同一个App中,其中①②是第三方自己的App界面,③是SDK 提供的界面。SDK的详细介绍参考《客户端SDK参考》。

20 开发指南 1 开放性简介

(9)

2 集成华为云会议帐号

华为云会议系统涉及两类帐号:华为云帐号和华为云会议帐号。华为云会议帐号按角 色分类又可以分成四种:SP管理员帐号,企业管理员帐号,企业普通用户帐号和个人 帐号。

● 华为云账号:用于购买会议服务;登录华为云控制台;申请App ID;用于登录API Explorer进行调试。

● 华为云会议帐号:

– SP管理员帐号:用于企业管理、企业资源管理。

– 企业管理员帐号:用于企业内部部门管理、用户管理、VMR管理、会管、会 控。

– 企业普通用户帐号:用于用户本身的会管、会控。

– 个人帐号:不属于任何企业的帐号,权限跟企业普通用户帐号相同。

华为云会议提供两种帐号集成方式与第三方应用集成:App ID鉴权方式;帐号/密码鉴 权方式。

说明

● 华为云会议帐号区分为个人帐号和企业帐号。个人帐号创建企业/组织后就成为了企业帐号。

二次开发中使用的都是企业帐号。

● 华为云账号只有绑定了华为云会议企业管理员帐号后,才能申请App ID。申请企业管理员帐 号请参考“开发前准备”。App ID的申请请参考“App ID的申请”。

20 开发指南 2 集成华为云会议帐号

(10)

App ID 鉴权方式(推荐)

2-1 App ID 鉴权方式集成

步骤1 预先创建好App ID,一个应用只需创建一次,请参考“App ID的申请”。

步骤2 使用App ID和第三方User ID,调用鉴权接口获取接入token。

步骤3 调用其他需指定用户的管理接口(比如邀请与会者)时带上接入Token,以及第三方 User ID。

----结束

这种鉴权模式下第三方应用不感知华为云会议帐号。第三方User ID和华为云会议帐号 的绑定关系在华为云会议系统中维护。

帐号/密码鉴权方式(不推荐)

2-2 帐号/密码鉴权方式集成

步骤1 使用帐号/密码鉴权方式与华为云会议帐号集成时,需要调用服务端的REST API创建用 户帐号,并且在第三方系统中维护第三方的user id和华为云会议帐号的绑定关系。

20 开发指南 2 集成华为云会议帐号

(11)

步骤2 使用已经发放好的华为云会议帐号和密码,调用鉴权接口获取接入Token。

步骤3 调用其他需指定用户的管理接口(比如邀请与会者)时带上接入Token,以及华为云会 议帐号(account)。

----结束

这种鉴权模式下,第三方系统需要为第三方User ID绑定华为云会议用户帐号,第三方 User ID和华为云会议用户帐号是1:1映射的。

2-3 第三方帐号与华为云会议帐号的绑定关系

说明

第三方User ID和华为云会议用户帐号也可以是n:1,但是需要第三方系统自己负责帐号的绑定和 解绑定。

20 开发指南 2 集成华为云会议帐号

(12)

3 App ID 鉴权介绍

为了降低第三方应用集成华为云会议难度,并且提升开放接口的安全性,华为云会议 开放能力中支持基于App ID的鉴权方式。App ID是一个应用的标识,同一个App ID可 以同时在第三方的桌面终端、移动终端、Web应用上使用。

App ID 鉴权原理

3-1 第三方客户端 App ID 鉴权流程

鉴权前提:

20 开发指南 3 App ID 鉴权介绍

(13)

1. 开发者在华为云会议控制台上为自己的应用申请AppID,并获取App ID和App Key。

2. 开发者在自己的服务端集成Signature生成算法,请参考“第三方服务集成 Signature生成算法”。

3. SDK初始化时传入App ID,请参考《客户端SDK参考》中的“初始化”部分。

鉴权过程:

1. 第三方客户端将User ID(第三方User ID)发送给第三方服务器。

2. 第三方服务器根据App ID、User ID、App Key等,生成鉴权用的签名材料 Signature。

3. 第三方服务端返回Signature,以及ExpireTime和Nonce值。

4. 第三方客户端调用客户端SDK的Login接口,参数为User ID、Signature、

ExpireTime和Nonce。

5. 客户端SDK去华为云会议服务端鉴权。

6. 鉴权通过后SDK获取接入Token。该Token对第三方客户端不可见,由SDK负责维 护和刷新。

3-2 第三方服务端 App ID 鉴权流程

鉴权前提:

1. 开发者在华为云会议控制台上为自己的应用申请AppID,并获取App ID和App Key。

2. 开发者在自己的服务端集成Signature生成算法,请参考“第三方服务集成 Signature生成算法”。

鉴权过程:

1. 第三方服务端根据调用的业务接口所需的User ID(第三方User ID),加上App ID、App Key、ExpireTime和Nonce,生成鉴权用的签名材料Signature。

20 开发指南 3 App ID 鉴权介绍

(14)

说明

1. 接口Token有效期是12~24小时。

2. 生成Signature和调用appAuth接口时可以不带User ID,如果不带User ID默认是创建企业时 的创建者(企业Owner)。

3. User ID需要第三方应用保证在同一个企业内是唯一的。如果第三方开发者是SP,同一个应用 在多个企业使用,接口中除了带User ID外,还需要带Corp ID(企业ID)

4. 如果需要使用华为云会议通讯录的情况下,在登录鉴权过程中还可以携带邮箱、姓名、电话 号码等信息,这些信息将被写入华为云会议的通讯录中。

App ID 的申请

步骤1 使用华为云账号,登录华为云会议控制台。前提是该华为云账号已经购买了华为云会 议服务或者已经绑定了华为云会议企业管理员帐号,请参考“开发流程”章节中的

“开发前准备”。

步骤2 点击“应用管理”,再点击“申请应用”。在弹出的创建应用的输入框中输入第三方 应用的名称及描述。

3-3 创建应用

说明

● 请填写真实的联系人姓名和手机号码。

● 申请提交后,华为云会议工作人员会在1~3个工作日内完成审核和审批。

步骤3 生成App Key

审批通过后,点击“生成AppKey”再点击“确定”生成App Key。

20 开发指南 3 App ID 鉴权介绍

(15)

3-4 生成 App Key

----结束

说明

1. App Key是生成鉴权签名材料Signature的密钥,需要在第三方服务端妥善保存,不要泄露出 去,否则会出现被盗用会议资源的风险。

2. App Key只能保存在第三方服务端,不能保存在第三方终端中,否则很容易被反编译获取。

3. App Key需要妥善保存,遗失后只能重置,不能找回。重新生成App Key原来的App Key将会 在一个月后失效。

第三方服务集成 Signature 生成算法

App只在单个企业内使用的情况下,生成鉴权签名材料Signature的算法如下:

Signature = HexEncode(HMAC-SHA256((App ID + ":" + User ID + ":" + ExpireTime + ":" + Nonce), appKey))

App是SP开发的,需要在多个企业内使用的情况下,生成鉴权签名材料Signature的算 法如下:

● 作为企业普通用户,对自己的会议管理:

Signature = HexEncode(HMAC-SHA256((App ID + ":" + CorpID + ":" + User ID + ":" + ExpireTime + ":"

+ Nonce), appKey))

● 作为企业管理员,对企业资源进行管理:

Signature = HexEncode(HMAC-SHA256((App ID + ":" + CorpID + "::" + ExpireTime + ":" + Nonce), appKey))

说明

作为企业管理员是也可以带User ID,这个User ID必选具有管理员权限。

● 作为SP管理员,对SP资源进行管理(如创建企业或者分配企业资源等):

Signature = HexEncode(HMAC-SHA256((App ID + ":::" + ExpireTime + ":" + Nonce), appKey))

算法说明:

1. HMAC-SHA256的输入数据是App ID、CorpID(可选)、User ID(可选)、

ExpireTime、Nonce值,中间用“:”分隔。如

d5e1785afbe44c2588b642446652489e:alice@ent01:1604020600:EycLQsHwxhz K9OW8UEKWNfH2I3CGR2nINuU1EBpQ

20 开发指南 3 App ID 鉴权介绍

(16)

3. HMAC-SHA256生成的二进制数需要转换为十六进制字符串(HexEncode),上 述的数据和密钥最终生成的Signature如下:

2a8c780cee3dbfe210384c3f95380732d55dfc81cfa49c5a6c44f3c1b3c2455d 4. ExpireTime:鉴权签名材料Signature的过期时间戳。单位是秒。比如当前的系统

的时间戳是1604020000,Signature有效期设置成10分钟,则ExpireTime = 1604020000+10*60 = 1604020600

5. Nonce:随机字符串,每次计算鉴权签名材料Signature时都必须不同。字符串长 度为32~64字节

说明

1. 由于鉴权签名材料Signature是有有效期的,所以第三方服务端的系统时间和华为云会议服务 端的系统时间误差不能太大(小于ExpireTime中的有效期,如上例中的10分钟)。华为云会议 服务端时间已经跟标准NTP时间同步。

2. ExpireTime为0,表示永远不过期。为了防止重放攻击,不建议将ExpireTime设置为0。

Java版本的Signature生成算法源代码

import java.io.UnsupportedEncodingException;

import java.security.InvalidKeyException;

import java.security.NoSuchAlgorithmException;

import javax.crypto.Mac;

import javax.crypto.spec.SecretKeySpec;

public class HmacSHA256 { //十六进制字符集

private final static char[] DIGEST_ARRAYS = {

'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };

/**

* 功能:Signature生成算法 * 输入参数:

* 1.data: HMAC-SHA256的输入数据 * 2.key: App Key

* 输出参数:十六进制字符串编码的HMAC-SHA256值 */

public static String encode(String data, String key) { byte[] hashByte;

try {

Mac sha256HMAC = Mac.getInstance("HmacSHA256");

SecretKeySpec secretKey = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");

sha256HMAC.init(secretKey);

hashByte = sha256HMAC.doFinal(data.getBytes("UTF-8"));

} catch (NoSuchAlgorithmException | UnsupportedEncodingException | InvalidKeyException e) { return null;

}

return bytesToHex(hashByte);

} /**

* 功能:byte类型数组转换成十六进制字符串 * 输入参数:

* 1.bytes:被转换的字节数组 * 输出参数:十六进制字符串 */

private static String bytesToHex(byte[] bytes) { StringBuffer hexStr = new StringBuffer();

for (int i = 0; i < bytes.length; i++) {

hexStr.append(DIGEST_ARRAYS[bytes[i] >>> 4 & 0X0F]);

hexStr.append(DIGEST_ARRAYS[bytes[i] & 0X0F]);

}

20 开发指南 3 App ID 鉴权介绍

(17)

return hexStr.toString();

} }

Python版本的Signature生成算法源代码

import hmac

from hashlib import sha256 class HmacSHA256:

def __init__(self, sig_data, sig_key):

self.data = sig_data self.key = sig_key def encode(self):

try:

sig_data = self.data.encode('utf-8') secret_key = self.key.encode('utf-8')

signature = hmac.new(secret_key, sig_data, digestmod=sha256).hexdigest() except Exception as e:

print (e) raise e return signature

C++版本的Signature生成算法源代码

#include <openssl/hmac.h>

#include <string.h>

#include <iostream>

using namespace std;

const int HMAC_ENCODE_SUCCESS = 0;

const int HMAC_ENCODE_FAIL = -1;

const int HMAC_SHA256_STR_LEN = 65;

/*** 功能: 字节流转换成十六进制字符串

* 输入参数:

* 1.input: 字节流指针

* 2.len: 字节流字节数

* 输出参数:

* 3.output: 输出缓冲区

* 6.output_length: Signature字符串长度

* 返回值:

* 0:失败

* 大于0的整数:转换后的字符串长度

*/int Byte2HexStr(char * output, unsigned char * input, unsigned int len) { if ((NULL == output) || (NULL == input))

{

return 0;

}

unsigned int i = 0;

for (i = 0; i < len; i++) {

sprintf_s(output + 2*i, HMAC_SHA256_STR_LEN-2*i, "%x%x", (input[i] >> 4) & 0x0F, input[i]&0x0F);

}

*(output + 2*i) = '\0';

return 2*i;

20 开发指南 3 App ID 鉴权介绍

(18)

* 输入参数:

* 1.key: App Key

* 2.key_length: App Key的字符串长度

* 3.input: HMAC-SHA256的输入数据

* 4.input_length: HMAC-SHA256的输入数据的字符串长度

* 输出参数:

* 5.output: Signature输出缓冲区

* 6.output_length: Signature字符串长度

* 返回值:

* 0:成功

* -1:失败

*/int HmacEncode(const char * key, unsigned int key_length, const char * input, unsigned int input_length,

char output[HMAC_SHA256_STR_LEN], unsigned int &output_length) { //计算HMAC_SHA256的字节流

const EVP_MD * engine = EVP_sha256();

unsigned char * byte_output = (unsigned char*)malloc(EVP_MAX_MD_SIZE);

if (NULL == byte_output) {

output_length = 0;

return HMAC_ENCODE_FAIL;

}

unsigned int byte_output_length = 0;

HMAC_CTX *ctx;

ctx = HMAC_CTX_new();

HMAC_Init(ctx, key, strlen(key), engine);

HMAC_Update(ctx, (unsigned char*)input, strlen(input));

HMAC_Final(ctx, byte_output, &byte_output_length);

HMAC_CTX_free(ctx);

//HMAC_SHA256的字节流转换成十六进制字符串

int ret = Byte2HexStr(output, byte_output, byte_output_length);

free(byte_output);

if (0 == ret) {

output_length = 0;

return HMAC_ENCODE_FAIL;

} else {

output_length = ret;

return HMAC_ENCODE_SUCCESS;

} }

说明

C++的Signature生成算法基于openssl 1.1.0以上版本实现。openssl库需要开发者自己编译和安 装,请参考openssl官网。

JavaScript版本的Signature生成算法源代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"> </script>

<script>

/**

* 1、重要提醒:生成Signature的算法不要放在前端代码中,否则会导致App Key泄露,从而导致企业资源被 盗 * 2、本示例代码仅供调试时使用

*/

function genSignature(data,appKey){

var sign = CryptoJS.HmacSHA256(data,appKey).toString();

20 开发指南 3 App ID 鉴权介绍

(19)

return sign }

</script>

集成 UI SDK 的第三方客户端 App ID 鉴权

第三方客户端初始化SDK时,需要传入事先申请好的App ID。

● Android SDK的初始化接口,请参考《客户端SDK参考》中“Android SDK”的

“初始化”章节。

● iOS SDK的初始化接口,请参考《客户端SDK参考》中“iOS SDK”的“初始化”

章节。

● Windows SDK的初始化接口,请参考《客户端SDK参考》中“Windows SDK”的

“初始化”章节。

● Mac SDK的初始化接口,请参考《客户端SDK参考》中“Mac SDK”的“初始

化”章节。

第三方客户端登录时,从第三方服务端获取Signature、ExpireTime和Nonce后,调用 终端SDK的Login接口完成鉴权。

● Android SDK的Login接口,请参考《客户端SDK参考》中“Android SDK”的

“登录”章节。

● iOS SDK的Login接口,请参考《客户端SDK参考》中“iOS SDK”的“登录”章 节。

● Windows SDK的Login接口,请参考《客户端SDK参考》中“Windows SDK”的

“登录”章节。

● Mac SDK的Login接口,请参考《客户端SDK参考》中“Mac SDK”的“登录”章 节。

第三方服务端 App ID 鉴权

第三方服务端通过AppID鉴权接口,完成App ID鉴权,并获取接入Token。请参考《服 务端API参考》中的“执行App ID鉴权”章节。

20 开发指南 3 App ID 鉴权介绍

(20)

4 开发流程

4-1 开发流程

开发前准备

1. 注册华为云账号

登录华为云官网,单击“注册”,按照界面提示完成华为云的注册。成功注册后 请尽快完成“企业实名认证”,认证过程请参考“企业帐号如何完成实名认

证”。

2. 开通华为云会议企业管理员帐号 – 正式商用

订购华为云会议服务。如何订购,请参考如何购买会议套餐。

– 免费试用 说明

自助申请免费注册功能仅在中国站放开了,如果需要在国际站申请免费试用企业请联 系华为销售人员。

a. 用步骤1中申请的华为云账号登录华为云官网后,进入“华为云会议官网”页 面。点击“免费体验”。

20 开发指南 4 开发流程

(21)

4-2 免费体验申请入口

b. 注册华为云会议个人免费帐号。注册成功后点击“立即开始会议”进入华为 云会议的管理后台。

4-3 注册华为云会议个人免费帐号

4-4 注册成功

20 开发指南 4 开发流程

(22)

c. 用华为云会议个人免费帐号登录华为云会议的管理后台,就可以创建企业。

4-5 创建企业

4-6 填写企业信息(注:请填写真实的企业名称)

说明

● 如果不填写企业真实名称,下面的“POC测试申请”将会被驳回。

● 被驳回后,请在华为云会议管理平台上“管理员>企业管理>注册信息”中修改企 业名称,并重新提交POC测试申请。

20 开发指南 4 开发流程

(23)

4-7 企业创建成功

d. 华为云账号上绑定华为云会议企业管理员帐号。在“华为云会议官网”上,

点击“进入管理后台”,再点击“立即绑定”,并输入上述a~c步骤中申请到 的华为云会议企业管理员帐号和密码。

4-8 进入管理后台

4-9 绑定华为云会议企业管理员帐号

20 开发指南 4 开发流程

(24)

4-10 华为云会议企业管理员信息

e. 步骤d绑定成功后,在同一界面可申请免费POC资源。点击“POC测试申 请”,请如实填写申请信息并提交,我们将会在10个工作日内进行审核。审 批通过后,即可开始华为云会议体验之旅。

4-11 填写 POC 测试申请信息

4-12 POC 测试申请进展

20 开发指南 4 开发流程

(25)

4-13 POC 测试资源清单

说明

1. 个人免费帐号资源:赠送1个50方的云会议室(VMR);单个会议最大时长45分钟。

2. 企业免费帐号资源:升级为企业后,企业内所有成员(包括被邀请用户)均可免费获得 1个专属50方的云会议室(VMR)资源;支持每个成员使用自己的50方云会议室创建会 议,单个会议最大时长均为45分钟。

3. POC测试资源:申请后,企业可免费获得为期180天的云会议体验套餐(包含25方并 发、1个50方会议室、网络研讨会资源、录播空间、硬件接入许可等资源);单个会议 最大时长不受限制。

4. 二次开发一定要升级为企业帐号,并申请POC测试资源,不能使用个人帐号。

5. 如有紧急问题请拨打4000-955-988 | 950808 按1转1进行快速解答。

3. 添加其他帐号(可选)。

在华为云会议官网单击“进入管理后台”,输入华为云账号和密码,单击“进入 管理后台”。

4-14 登录华为云会议管理后台

登录后,在左侧菜单栏中选择“管理员>企业管理 > 会议用户”,邀请会议用 户。被邀请者同意后,成为新的企业会议用户。

20 开发指南 4 开发流程

(26)

4-15 邀请华为云会议用户

普通的会议用户可以通过“管理员>企业管理 > 管理员”,添加为该企业的企业 管理员。

4-16 添加管理员

4. 申请App ID

App ID鉴权的介绍和申请请参考“3 App ID鉴权介绍”。

集成服务端 REST API

1. 下载服务端集成开发工具以及二次开发文档。

20 开发指南 4 开发流程

(27)

在集成开发服务端API的过程中,除本开发指南外,开发者还需要参考《服务端 API参考》。

2. 准备开发环境。

订购华为云会议服务,基于业务账号调用服务端API,接入地址是“中国站:

https://api.meeting.huaweicloud.com;国际站:https://api- intl.meeting.huaweicloud.com”。

3. 集成登录鉴权。

第三方系统在直接调用云会议功能前,需要先调用鉴权接口,完成第三方应用帐 号向会议服务端的鉴权。详细开发方法参见《服务端API参考》中的“登录鉴权”

章节。

4-17 服务端鉴权集成

4. 调用REST接口集成开发。

在完成鉴权调用后,开发者可以在第三方应用系统上集成华为云会议的服务端功 能接口。

详细开发方法参见《服务端API参考》。

5. 功能调试。

开发完成后,可以接入华为云会议调试环境(中国站:https://

api.meeting.huaweicloud.com;国际站:https://api- intl.meeting.huaweicloud.com)进行功能调试。

华为云会议提供的每个服务端REST API都可以在华为云的API Explorer上调试。

说明

华为云会议服务端的REST API在第三方的终端App上也可以调用。终端App调用时,终端 类型(clientType)需要设置成“Web客户端类型”,否则会把已经登录的App踢下线。

集成客户端 UI SDK

1. 下载客户端SDK开发包以及二次开发文档。

在集成开发客户端SDK的过程中,除本开发指南外,开发者还需要查看本《客户

端SDK参考》。

请参考《客户端SDK参考》中的“资源下载”获取SDK开发包,Demo源代码在 SDK包中。

20 开发指南 4 开发流程

(28)

请参考《客户端SDK参考》中每个平台SDK下的“Demo安装包下载”试用 Demo。

3. 准备开发环境。

– 开发环境准备

不同平台的开发工具及环境要求。详见《客户端SDK参考》中对应平台 下的“快速入门”。

– 调测环境准备

订购华为云会议服务后或者申请免费试用帐号后,调用客户端SDK。

4. 调用SDK集成开发。

开发者可以在自己对应要开发的平台上集成华为云会议对应平台的SDK接口。

详细开发方法参见《客户端SDK参考》。

5. 功能调试。

开发完成后,可以接入华为云会议调试环境进行功能调试。

商用发布

开发者完成应用开发和调测后将应用发布给最终用户使用。

20 开发指南 4 开发流程

(29)

5 最佳实践

开放性应用实践概览

华为云会议提供了服务端API开放和客户端SDK开放,开发者基于自己的应用场景可以 灵活地集成华为云会议的开放性接口。本文介绍了几个基于华为云会议集成的最佳实 践,帮助开发者了解几种典型场景下的集成方案,以管窥豹,快速掌握基于华为云会 议的集成开发能力。

5-1 开放性应用实践概览

20 开发指南 5 最佳实践

(30)

5-1 服务端 API 集成实践

实践 应用场景

实践1:鉴权登录 服务端API调用前需要鉴权登录后获取接入Token,开放者通 过App ID鉴权接口完成鉴权登录,并获取接入Token。

实践2:创建会议 服务端创建会议:用户已有的管理系统可集成华为会议服务 的会议管理接口,可以调用服务端API创建会议。

客户端创建会议:用户可以在客户端上直接创建立即开始的 会议或者预约会议。

实践3:加入会议 服务端拉起与会者:调用服务端API,添加与会者。与会者 收到会议来电并加入会议。

客户端主动入会:用户可以,通过输入会议ID/密码入会;点 击邮件链接入会;点击Web链接入会;在微信/微信小程序中 点击链接入会。

实践4:离开会议 服务端结束会议:调用服务端API,结束会议。

客户端离开/结束会议:用户在会中界面上结束会议和离开会 议。

最佳实践 1:鉴权登录

开发者集成华为云会议服务端API时,推荐使用App ID鉴权方式,鉴权通过后可以获取 接入Token。第一次鉴权通过后,华为云会议后台会自动为第三方的用户应用分配一个 华为云会议帐号。

5-2 APP ID 鉴权

登录成功后,华为云会议会自动给第三方应用分配华为云会议帐号。这个绑定关系由 华为云会议维护,第三方开发者不用关注华为云会议帐号。

5-2 第三方帐号和华为云会议帐号的映射关系 第三方帐

华为云会议帐号

15012345

678 Auto-94b91e94ce3f4ddab9ecfe7625418e60 18012345

678 Auto-7700ebc37cf580a680cdfde4b34b41d0

20 开发指南 5 最佳实践

(31)

最佳实践 2:创建会议

● 用户的应用服务器通过调用服务器API接口,实现预定会议或创建即时会议。

● 用户的APP通过调用客户端SDK接口,实现预定会议或创建即时会议。

5-3 服务端创建会议集成方案

5-4 客户端创建会议集成方案

最佳实践 3:加入会议

华为云会议提供多种入会方式,用户的应用服务器或者APP通过集成华为云会议的入会 接口,可以通过多种方式加入会议。

● 方式1:终端被邀入会

● 方式2:终端通过会议ID和密码主动入会

● 方式3:邮件链接拉起终端入会

● 方式4:Web链接拉起终端入会

● 方式5:微信/微信小程序拉起终端入会

20 开发指南 5 最佳实践

(32)

5-5 加入会议集成方案

20 开发指南 5 最佳实践

(33)

最佳实践 4:离开/结束会议

5-6 离开会议集成方案

20 开发指南 5 最佳实践

(34)

6 注意事项

● 传输安全

支持通过HTTP或HTTPS通道进行请求通信。为了获得更高的安全性,推荐您使用 HTTPS通道发送请求。

● HTTP编码

请求及返回结果都使用UTF-8字符集进行编码。

20 开发指南 6 注意事项

(35)

7 提交问题工单

在集成云会议产品的过程中,如有任何问题,推荐您使用华为工单系统提交问题,华 为开放性技术支持工程师收到工单后会尽快处理您的问题。

步骤1 登录华为云https://www.huaweicloud.com/。

步骤2 选择“账号名 > 工单管理”。

7-1 选择工单管理

步骤3 搜索“会议”。

20 开发指南 7 提交问题工单

(36)

7-2 搜索“会议”

步骤4 选择问题类型为“会议云服务-开放集成类”,并单击“新建工单”。

7-3 选择问题类型

步骤5 根据界面提示,完成问题和信息填写,然后提交工单。

请尽量详细描述您的问题现象、问题所属类型(服务端集成或客户端集成),并上传 问题相关日志,以便支持人员能尽快定位问题。

说明

问题相关日志请只保留当前问题发生时的日志,删除以前的日志。建议这样获取日志:清空以前 的日志文件-->复现问题-->重新获取日志文件。

20 开发指南 7 提交问题工单

(37)

7-4 填写工单信息

----结束

20 开发指南 7 提交问题工单

(38)

8 开发者论坛

开发者如果在集成华为云会议时有任何问题,可以在华为云开发者云社区的“华为云

会议”板块上提问。

20 开发指南 8 开发者论坛

數據

表 5-1 服务端 API 集成实践 实践 应用场景 实践1:鉴权登录 服务端API调用前需要鉴权登录后获取接入Token,开放者通 过App ID鉴权接口完成鉴权登录,并获取接入Token。 实践2:创建会议 服务端创建会议:用户已有的管理系统可集成华为会议服务 的会议管理接口,可以调用服务端API创建会议。 客户端创建会议:用户可以在客户端上直接创建立即开始的 会议或者预约会议。 实践3:加入会议 服务端拉起与会者:调用服务端API,添加与会者。与会者 收到会议来电并加入会议。 客户端主动入会:用户可以

參考文獻

相關文件

许多大经济体如中、美、日等国均采用生产者价格作计算,因此,由参考期 2014

VAB 使用者無法使用 RIDE 提供的 Filter Design 公用程式設計濾波器,但是 使用 VAB 的 Filter 元件時,在元件特性選單可以直接指定此濾波器的規格,使用

百分点 %

大型会议:

其中﹕四小时或以上 展览入场人数 奖励活动参与人数

[r]

In order to achieve the learning objectives of the OLE – providing students with a broad and balanced curriculum with diverse learning experiences to foster whole-person development

‡圖形使用者介面( graphical user interface GUI). ‡圖形使用者介面( graphical user