適用於 JavaScript 的 Azure RoomsApi 用戶端連結庫 - 1.1.0 版
此套件包含同型 SDK, (會在 azure RoomsApi 用戶端的 Node.js 和瀏覽器) 中執行。
通訊室用戶端
開始使用
目前支援的環境
- Node.js 的 LTS 版本
- 最新版的 Safari、Chrome、Edge 和 Firefox。
必要條件
- Azure 訂用帳戶。
- 現有的通訊服務資源。 如果您需要建立資源,您可以使用 Azure 入口網站、[Azure PowerShell][azure_powershell]或 Azure CLI。
JavaScript 套件組合
若要在瀏覽器中使用此用戶端連結庫,您必須先使用套件組合器。 如需如何執行這項操作的詳細資訊,請參閱我們的 統合檔。
安裝
npm install @azure/communication-rooms
重要概念
RoomsApiClient
RoomsClient
是使用 Azure RoomsApi 用戶端連結庫的開發人員的主要介面。 探索此客戶端物件上的方法,以瞭解您可以存取之 Azure RoomsApi 服務的不同功能。
範例
驗證
您可以從 Azure 入口網站中的通訊服務資源取得金鑰和/或 連接字串。 您擁有金鑰,即可使用下列任何方法驗證 RoomsClient
:
在初始化用戶端之前先 AzureKeyCredential
Create KeyCredential
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 入口網站中的通訊服務資源取得此端點。
使用方式
Create 會議室
若要建立會議室,請呼叫 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 套件文件。
下一步
如需如何使用此連結庫的詳細範例,請參閱 範例 目錄。
參與
如果您希望向此程式庫投稿,請參閱投稿指南,深入瞭解如何組建與測試程式碼。