JavaScript 用 Azure RoomsApi クライアント ライブラリ - バージョン 1.1.1
このパッケージには、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 バンドル
ブラウザーでこのクライアント ライブラリを使用するには、まず、バンドルを使用する必要があります。 これを行う方法の詳細については、
装着
npm install @azure/communication-rooms
主な概念
RoomsApiClient
RoomsClient
は、Azure RoomsApi クライアント ライブラリを使用する開発者向けの主要なインターフェイスです。 このクライアント オブジェクトのメソッドを調べて、アクセスできる Azure RoomsApi サービスのさまざまな機能を理解します。
例
認証
Azure Portalで Communication Services リソースからキーや接続文字列 RoomsClient
を認証できます。
クライアントを初期化する前に、AzureKeyCredential
を使用して 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 Portal
使い
部屋を作成する
ルームを作成するには、createRoom
メソッドを呼び出します。 すべての設定は省略可能です。
validFrom
が指定されていない場合は、既定で現在の datetime に設定されます。
validUntil
が指定されていない場合、既定値は validFrom + 180 days
です。
participants
を定義するときに、role
が指定されていない場合は、既定で attendee
されます。
1.1.0 リリース以降、ルームで PSTN ダイヤルアウト機能を有効または無効にするために、PstnDialOutEnabled
プロパティが追加されました。
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());
const validForDays = 10;
const validUntil = new Date(validFrom.getTime());
validUntil.setDate(validFrom.getDate() + validForDays);
const 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 リリース以降、ルームで PSTN ダイヤルアウト機能を有効または無効にするために、PstnDialOutEnabled
プロパティが追加されました。
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: RoomParticipantPatch[] = [
{
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 パッケージのドキュメントを参照してください。
次の手順
このライブラリの使用方法の詳細な例については、ディレクトリ
貢献
このライブラリに投稿する場合は、コードをビルドしてテストする方法の詳細については、投稿ガイド を参照してください。
関連プロジェクト
- Microsoft Azure SDK for JavaScript の
Azure SDK for JavaScript