JavaScript 用 Azure RoomsApi クライアント ライブラリ - バージョン 1.1.0
このパッケージには、Azure RoomsApi クライアント用の同型 SDK (Node.js とブラウザーの両方で実行) が含まれています。
Communication Rooms クライアント
ソースコード | パッケージ (NPM) | サンプル
はじめに
現在サポートされている環境
- Node.js の LTS バージョン
- Safari、Chrome、Edge、Firefox の最新バージョン。
前提条件
- Azure サブスクリプション。
- 既存の Communication Services リソース。 リソースを作成する必要がある場合は、Azure Portal、[Azure PowerShell][azure_powershell]、または Azure CLI を使用できます。
JavaScript バンドル
ブラウザーでこのクライアント ライブラリを使用するには、まず bundler を使用する必要があります。 これを行う方法の詳細については、 バンドルに関するドキュメントを参照してください。
[インストール中]
npm install @azure/communication-rooms
主要な概念
RoomsApiClient
RoomsClient
は、Azure RoomsApi クライアント ライブラリを使用する開発者向けの主要なインターフェイスです。 このクライアント オブジェクトのメソッドを調べて、アクセスできる Azure RoomsApi サービスのさまざまな機能を理解します。
例
認証
Azure Portal で Communication Services リソースからキーや接続文字列を取得できます。 キーを取得したら、次のいずれかの方法で を RoomsClient
認証できます。
クライアントを初期化する前に をAzureKeyCredential
CreateKeyCredential
する
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 Portal の Communication Services リソースから取得できます。
使用
ルームを作成する
ルームを作成するには、 メソッドを呼び出します createRoom
。 すべての設定は省略可能です。
が指定されていない場合 validFrom
は、既定で現在の datetime に設定されます。 が指定されていない場合 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 はこちら
会議室を更新する
会議室の と validUntil
のvalidFrom
設定を更新するには、 メソッドを使用します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 パッケージに関するドキュメントを参照してください。
次の手順
このライブラリの使用方法の詳細な例については、 samples ディレクトリを参照してください。
共同作成
このライブラリに投稿する場合、コードをビルドしてテストする方法の詳細については、投稿ガイドを参照してください。
関連プロジェクト
Azure SDK for JavaScript