你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 JavaScript 的 Azure RoomsApi 客户端库 - 版本 1.1.0
此包包含一个同构 SDK (在 azure RoomsApi 客户端) Node.js 和浏览器中运行。
通信室客户端
入门
目前支持的环境
- LTS 版本的 Node.js
- 最新版本的 Safari、Chrome、Edge 和 Firefox。
先决条件
JavaScript 捆绑包
若要在浏览器中使用此客户端库,首先需要使用捆绑程序。 有关如何执行此操作的详细信息,请参阅捆绑 文档。
安装
npm install @azure/communication-rooms
关键概念
RoomsApiClient
RoomsClient
是开发人员使用 Azure RoomsApi 客户端库的主要接口。 浏览此客户端对象上的方法,了解可以访问的 Azure RoomsApi 服务的不同功能。
示例
身份验证
可以从 Azure 门户中的通信服务资源获取密钥和/或连接字符串。 获得密钥后,可以使用以下任一方法对 进行身份验证 RoomsClient
:
在KeyCredential
初始化客户端之前使用 AzureKeyCredential
Create
import { AzureKeyCredential } from "@azure/core-auth";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new AzureKeyCredential(KEY);
const client = new RoomsClient(ENDPOINT, credential);
使用连接字符串
import { RoomsClient } from "@azure/communication-rooms";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);
使用 TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new DefaultAzureCredential();
const client = new RoomsClient(ENDPOINT, credential);
如果使用密钥初始化客户端,则还需要提供相应的终结点。 可以从 Azure 门户中的通信服务资源获取此终结点。
使用情况
创建房间
若要创建聊天室,请 createRoom
调用 方法。 所有设置都是可选的。
如果未 validFrom
提供 ,则默认为当前日期/时间。 如果未 validUntil
提供 ,则默认值为 validFrom + 180 days
。
定义 participants
时,如果未 role
指定 ,则默认为 attendee
。
从 1.1.0 版开始, PstnDialOutEnabled
添加 属性以启用或禁用房间中的 PSTN 拨出功能。 PstnDialOutEnabled
为可选属性。 如果未 PstnDialOutEnabled
提供 ,则 的 PstnDialOutEnabled
默认值为 false。
// create users with CommunicationIdentityClient
const identityClient = new CommunicationIdentityClient(connectionString);
const user1 = await identityClient.createUserAndToken(["voip"]);
// create RoomsClient
const roomsClient: RoomsClient = new RoomsClient(CONNECTION_STRING);
const validFrom = new Date(Date.now());
let validForDays = 10;
let validUntil = new Date(validFrom.getTime());
validUntil.setDate(validFrom.getDate() + validForDays);
let pstnDialOutEnabled = true;
// options payload to create a room
const createRoomOptions: CreateRoomOptions = {
validFrom,
validUntil,
pstnDialOutEnabled,
participants: [
{
id: user1.user,
role: "Attendee",
},
],
};
// create room
const room = await roomsClient.createRoom(createRoomOptions);
在此处查找 CommunicationIdentityClient
更新聊天室
若要更新 validFrom
聊天室的 和 validUntil
设置,请使用 updateRoom
方法。
从 1.1.0 版开始, PstnDialOutEnabled
添加 属性以启用或禁用房间中的 PSTN 拨出功能。
validForDays = 60;
validUntil.setDate(validFrom.getDate() + validForDays);
pstnDialOutEnabled = false;
const updateRoomOptions: UpdateRoomOptions = {
validFrom,
validUntil,
pstnDialOutEnabled,
};
// update the room using the room id from the creation operation
const updatedRoom = await roomsClient.updateRoom(room.id, updateRoomOptions);
获取会议室
若要获取房间, getRoom
请使用 方法。
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
列出会议室
使用 listRooms
方法列出所有会议室。
const roomsList = await roomsClient.listRooms();
for await (const currentRoom of roomsList) {
// access room data
console.log(`The room id is ${currentRoom.id}.`);
}
添加或更新参与者
若要添加新参与者或更新现有参与者,请使用 addOrUpdateParticipants
方法。
const user2 = await identityClient.createUserAndToken(["voip"]);
const updateParticipantsList = [
{
id: user1.user,
role: "Presenter",
},
{
id: user2.user,
},
];
// run addOrUpdate operation
await roomsClient.addOrUpdateParticipants(room.id, updateParticipantsList);
删除参与者
若要删除参与者,请 removeParticipants
调用 方法。
const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);
获取会议室中的参与者
若要列出聊天室中的所有参与者,请 listParticipants
调用 方法。
const participantsList = await roomsClient.listParticipants(room.id);
for await (const participant of participantsList) {
// access participant data
console.log(`The participant's role is ${participant.role}.`);
}
删除房间
deleteRoom
使用 方法删除聊天室。
await roomsClient.deleteRoom(room.id);
疑难解答
日志记录
启用日志记录可能有助于发现有关故障的有用信息。 若要查看 HTTP 请求和响应的日志,请将 AZURE_LOG_LEVEL
环境变量设置为 info
。 或者,可以在运行时通过调用 @azure/logger
中的 setLogLevel
来启用日志记录:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
有关如何启用日志的更详细说明,请查看 @azure/logger 包文档。
后续步骤
有关如何使用此库的详细示例,请查看 示例 目录。
贡献
若要为此库做出贡献,请阅读贡献指南,详细了解如何生成和测试代码。